Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Multiple Happy Meal NIC Problem
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
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 6:14 pm    Post subject: Multiple Happy Meal NIC Problem Reply with quote

I have an Enterprise 220R machine with 3 happy meal NIC cards. If I boot from the 2007.0 installation CD, all three are recognized and usable. After performing an install, I can only effectively use eth1. I see from dmesg that all three cards are recognized:

Code:

PCI: Enabling device: (0000:00:01.1), cmd 2
sunhme.c:v3.00 June 23, 2006 David S. Miller (davem@davemloft.net)
eth0: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:ce:b8:66
PCI: Enabling device: (0000:00:02.1), cmd 2
eth1: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:ce:b8:66
PCI: Enabling device: (0000:00:04.1), cmd 2
eth2: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:ce:b8:66


If I try to bring up eth0 or eth2 I get:

Code:

eth0: unknown interface: No such device


/etc/conf.d/net looks like this:

Code:

dns_domain_lo="senesac.local"
dns_servers_lo=( "192.168.1.2" "192.168.1.1" )

config_eth0=( "null" )

config_eth1=( "192.168.1.3/24" )
routes_eth1=( "default via 192.168.1.1" )

config_eth2=( "null" )


I have links in /etc/init.d for net.eth0, net.eth1 and net.eth2. Currently only net.eth1 is starting at the default runlevel.

If I swap the config for eth0 and eth1 in /etc/conf.d/net, move the cable to eth0, remove net.eth1 from the default runlevel and add net.eth0, eth0 will fail to come up complaining that it does not exist. Oddly, eth1 will still attempt to come up despite being removed from init.

Any help would be appreciated. Thanks!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Sat Nov 24, 2007 6:25 pm    Post subject: Reply with quote

ssenesac,

What interfaces does
Code:
ifconfig -a
claim you have ?
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 6:29 pm    Post subject: Reply with quote

Code:

sv-senesac-02 ~ # ifconfig -a
eth0_rena Link encap:Ethernet  HWaddr 08:00:20:CE:B8:66 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:12 Base address:0x1000

eth1      Link encap:Ethernet  HWaddr 08:00:20:CE:B8:66 
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:20ff:fece:b866/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6062 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4908 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6862198 (6.5 Mb)  TX bytes:536332 (523.7 Kb)
          Interrupt:16 Base address:0x3000

eth2_rena Link encap:Ethernet  HWaddr 08:00:20:CE:B8:66 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17 Base address:0x2800

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Sat Nov 24, 2007 6:41 pm    Post subject: Reply with quote

ssenesac,

Your interfaces are all there but they are called eth0_rena eth1 and eth2_rena.
eth0 and eth2 don't exist on your system.

Thats a little simplistic too as they all seem to have the same MAC Address of 08:00:20:CE:B8:66.
Thats not permitted.

Do they all have different MAC addresses when you boot from the liveCD ?
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 6:46 pm    Post subject: Reply with quote

Yeah, I noticed that. I thought about randomizing the last 3 bytes on each card in /etc/cond.d/net, but I don't understand why the driver isn't just using the MAC address of the cards which I could not imagine are the same. To answer your question, though, no, the MAC addresses are all identical even if I boot from the install CD.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Sat Nov 24, 2007 6:51 pm    Post subject: Reply with quote

ssenesac,

You MAC address is different from the Happy Meal in my Sun but its odd that they are all the same.

You need to use the names that udev has assigned in the net file, so net_eth0 becomes net_eth0_rena and so on
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 7:21 pm    Post subject: Reply with quote

There's definitely something strange going on here. I opened the machine up...

eth0 is an onboard happy meal card
eth1 & eth2 are add-on pci happy meal cards

I found little orange stickers on each with the last 3 MAC address bytes on them.

eth0 is CEB866
eth1 is F1997F
eth2 is EF6C15

So, all three interfaces are being given the MAC address for eth0.

/etc/udev/rules.d/70-persistent-net-generator.rules shows:

Code:

sv-senesac-02 rules.d # less 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:ce:b8:66", NAME="eth1"

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:ce:b8:66", NAME="eth2"

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:ce:b8:66", NAME="eth0"


So, eth1 is listed first and I am guessing this is why it works. The comments for each entry show the same PCI device. So, is it fair to say that udev is trying to load three instances of the same NIC and give them different names? eth1 succeeds because it was first and the others fail?

If this is the case I don't know where to go from here, but I'm going to work google heavily and see what I get.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Sat Nov 24, 2007 7:24 pm    Post subject: Reply with quote

ssenesac,

That looks like the problem ... what happens if you fix the MAC addressis un the udev rules ?
Beware that you need lower case hex letters
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 8:17 pm    Post subject: Reply with quote

I modified /etc/udev/rules.d/70-persistent-net.rules

Code:

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:ce:b8:66", NAME="eth0"

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:f1:99:7f", NAME="eth1"

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:20:ef:6c:15", NAME="eth2"


eth0 works now, but the others do not. All interfaces still have the same MAC and eth1 is eth1_rename, etc.[/code]
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Sat Nov 24, 2007 8:37 pm    Post subject: Reply with quote

ssenesac,

Hmm - I set my rules before udev did that sort of thing for you. I have
Code:
# Name the eth interfaces correctly
 
KERNEL=="eth*", SYSFS{address}=="00:26:54:0b:c6:c6", NAME="eth_lan"
KERNEL=="eth*", SYSFS{address}=="00:0c:6e:14:c8:e7", NAME="eth_spare"
/etc/udev/rules.d/03-local-net.rules lines 1-4/4 (END)
because there is/was an issue of reusing kernel names.
I invented descriptive names as above. You also have to propogate the new names everywhere ...
/etc/inid.d/
net
and rc-update
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sat Nov 24, 2007 10:09 pm    Post subject: Reply with quote

Doesn't work unfortunately. What I get is three interfaces named eth_lan, eth1_rename and eth2_rename even though I try to name the other two eth_spare and eth_spare2. I think the problem is that if I go to /sys and poke around it shows that all interfaces have the same MAC. If I try to identify them by MAC as is shown in your local-net.rules it is only successful for the first entry and fails for the other two. I give up for now as I've wasted half the day trying to figure this out. I may just pull the other two adapters. I really appreciate the help, though! Thanks!
Back to top
View user's profile Send private message
ssenesac
n00b
n00b


Joined: 31 Jan 2004
Posts: 16
Location: Indianapolis, IN

PostPosted: Sun Nov 25, 2007 12:20 am    Post subject: Reply with quote

This works. Now I can change the MAC addresses in /etc/conf.d/net.

Code:

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", KERNELS=="0000:00:01.1", NAME="eth0"           

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", KERNELS=="0000:00:02.1", NAME="eth1"           

# PCI device 0x108e:0x1001 (hme)
SUBSYSTEM=="net", DRIVERS=="?*", KERNELS=="0000:00:04.1", NAME="eth2"
Back to top
View user's profile Send private message
Ixar
n00b
n00b


Joined: 02 May 2007
Posts: 15

PostPosted: Fri Dec 14, 2007 10:54 am    Post subject: Reply with quote

Hello,

It's not a bug it's a feature ;)
In the PC world the MAC address is a unique interface identifier, on Sun it is unique for a machine.

Sun made a setting in openboot to change this behavior. Just set 'local-mac-address?' to true and each interface will have its
own mac address as you expected. (See http://www.gentoo.org/doc/en/gentoo-sparc-obpreference.xml
for more details regarding OpenBoot).

Code:
<STOP-A>
setenv local-mac-address? true


I think it is an easier way to solve your problem ;)

Best Regards,
Ixar
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