Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Unhappy with HappyMeal
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Sparc
View previous topic :: View next topic  
Author Message
plate
Bodhisattva
Bodhisattva


Joined: 25 Jul 2002
Posts: 1663
Location: Berlin

PostPosted: Thu Jul 21, 2005 6:37 pm    Post subject: Unhappy with HappyMeal Reply with quote

I've heard of the HappyMeal NIC's devastating reputation, but it's all I've got in my U10, and I'd really like to make it work properly, if at all possible. "work properly" as opposed to its failing attempts at autonegotiation:
Code:
eth0: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:c0:62:a6
eth0: Link is up using internal transceiver at 100Mb/s, Half Duplex.

Every other autonegotiating host in the house gladly accepts the 100 Mbps full-duplex prescribed by the fat Alpine switch sitting in our attic. Any ideas how I could talk the HappyMeal into doing the same?
Back to top
View user's profile Send private message
gust4voz
Retired Dev
Retired Dev


Joined: 09 Sep 2003
Posts: 373
Location: Buenos Aires, Argentina

PostPosted: Thu Jul 21, 2005 8:04 pm    Post subject: Reply with quote

Force it with ethtool in /etc/local.start or something like that.
_________________
Gustavo Zacarias
Gentoo/SPARC monkey
Back to top
View user's profile Send private message
plate
Bodhisattva
Bodhisattva


Joined: 25 Jul 2002
Posts: 1663
Location: Berlin

PostPosted: Thu Jul 21, 2005 9:03 pm    Post subject: Reply with quote

Well, I'd love to, but ethtool doesn't seem to have much power over that thing. No matter how much I bang on it, it doesn't divert from its half-duplex mode. I've tried
Code:
ethtool -s eth0 autoneg off
ethtool -s eth0 duplex full

But the HappyMeal simply ignores all that:
Code:
eth0: Link has been forced up using internal transceiver at 100Mb/s, Half Duplex.
Back to top
View user's profile Send private message
Ferris
Retired Dev
Retired Dev


Joined: 13 Jan 2003
Posts: 426
Location: N. Virginia (USA)

PostPosted: Fri Jul 22, 2005 12:51 pm    Post subject: Reply with quote

This is not an answer nor a solution, but only a bit of information. Briefly poking around in the (sunhme kernel) driver indicates that at start-up, the kernel tries to set the hme card to the highest performance possible in the order: 100/full, 100/half, 10/full, 10/half, failure. As best as I can tell, this information is provided by the card itself: it tells the kernel what it can do in your environment (system + network connection), and the driver just watches a timer during autonegotiation.

That's not a very satisfying "answer" I understand, but it suggests that ethtool might be able to change things: for what it is worth, it is possible to drive hme at 100/full on a U10 (300) (I verified with a Solaris system), but when you boot, the kernel's auto negotiation loop's timing information allows only 100/half.

Sorry for not really telling you anything.
Back to top
View user's profile Send private message
gust4voz
Retired Dev
Retired Dev


Joined: 09 Sep 2003
Posts: 373
Location: Buenos Aires, Argentina

PostPosted: Fri Jul 22, 2005 3:36 pm    Post subject: Reply with quote

I'm perfectly able to force and autoneg fine here on my u5 (sunhme too) against a Lucent switch.

eth0: Link has been forced up using internal transceiver at 100Mb/s, Full Duplex.
eth0: Link has been forced up using internal transceiver at 100Mb/s, Half Duplex.
eth0: Link is up using internal transceiver at 100Mb/s, Full Duplex.

Didn't try 10Mb/s since it's kinda moot.
Running a 2.6 kernel here.
_________________
Gustavo Zacarias
Gentoo/SPARC monkey
Back to top
View user's profile Send private message
plate
Bodhisattva
Bodhisattva


Joined: 25 Jul 2002
Posts: 1663
Location: Berlin

PostPosted: Fri Jul 22, 2005 5:28 pm    Post subject: Reply with quote

That was a piece of misinformation, very sorry about that. :oops: I was too impatient when I wrote the above, checking dmesg revealed only the first message (100/HD), but I didn't wait for the second message (100/FD) before complaining again here... So, I've put a line
Code:
ethtool -s eth0 autoneg off speed 100 duplex full
into /etc/conf.d/local.start now, and everything works just as advertised. Thanks a lot!
Back to top
View user's profile Send private message
millermiller
n00b
n00b


Joined: 26 May 2005
Posts: 52

PostPosted: Mon Aug 01, 2005 6:09 am    Post subject: Reply with quote

plate wrote:
That was a piece of misinformation, very sorry about that. :oops: I was too impatient when I wrote the above, checking dmesg revealed only the first message (100/HD), but I didn't wait for the second message (100/FD) before complaining again here... So, I've put a line
Code:
ethtool -s eth0 autoneg off speed 100 duplex full
into /etc/conf.d/local.start now, and everything works just as advertised. Thanks a lot!


I followed the guild and put the command line in my /etc/conf.d/local.start. It seems doesn't work for me. Did I miss anything?

Thanks
_________________
Free as in Freedom
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Sparc All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum