[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: FireWire module issues on powerpc, worked around



Colin Watson wrote:
> I've been trying to get the list of network interfaces before and after
> the first reboot in sync on my PowerBook, so that I stop having to hack
> /etc/network/interfaces around while base-config is running to cope with
> the fact that discover detects eth1394 after the reboot but not
> beforehand. To that end, I added my ohci1394 controller to my local copy
> of discover1-data, hoping that Joey's earlier changes to hw-detect would
> take care of the rest.
> 
> This was partially successful. I now found that Firewire Ethernet showed
> up as eth0. Hmm, not ideal: I'd much rather have eth0 be the normal
> built-in Ethernet, the way it is after the reboot. It turns out that the
> first run of hw-detect, before anna is run and ethdetect is retrieved,
> has ohci1394 and eth1394 available to it (since firewire-core-modules is
> in the initrd for things like FireWire CD-ROM drives) so probes them
> both. It seems pretty suboptimal for it to bring up eth1394 long before
> any other interfaces.
> 
> To cope with this, I've moved eth1394 from firewire-core-modules to
> nic-modules in linux-kernel-di-powerpc-2.6, so that it isn't available
> until ethdetect runs. This is fairly simple for powerpc 2.6, as it turns
> out that every target that contains nic-modules already contains
> firewire-core-modules.

I think that powerpc net_drivers does not, but maybe that image is not
built with the 2.6 kernel?

Powerpc netboot has nic-modules and no firewire-core-modules, but my
change described below added it to the 2.6 version.

> However, I hesitated to do this in kernel-wedge
> (where IMHO this really should go) because I wasn't sure if i386 had the
> same property, and I didn't want to mess with that at this point. At any
> rate, with the discover1-data changes my PowerBook gets all its
> interfaces in the right order both before and after the first reboot.
> 
> Perhaps an i386 person with a FireWire-capable system could see if a
> similar change is needed there?

(This all stinks and we really should use nameif..)

Hmm, I have such an i386 machine, but my recent testing has all been
with initrds that lacked firewire-modules (hd-media and netboot).
Probably that's why I didn't see this. Problem verified with netinst CD
with 2.6 kernel, and #260600 is also it. (eth1394 is currently not
loaded for 2.4 kernels by hw-detect or hotplug.)

On i386, nic-modules does appear on images without of
firewire-core-modules, and some of these are very tight on space (like
the root floppy), but none of those really need firewire ethernet since
it's only used with 2.6. The only i386 initrd to contain
firewire-core-modules at all right now is the isolinux CD initrd; we'd
have to add it to the netboot initrd if eth1394 were moved to
nic-modules.

I also looked at ia64 and amd64. No ia64 initrds contain firewire, so
it's currently ok. If eth1394 was moved to nic-modules there,
firewire-core-modules would need to be added to the cdrom and netboot
initrds. amd64 is similar to i386, and so I've gone ahead and fixed it
in the same way.

I've also went for the quick fix approach for now, and changed
i386/amd64 2.6 to put it in nic-modules. I made
kernel_specific/2.6/nic-modules pull in firewire-core-modules, which
affects i386, amd64, and (some) powerpc, mostly the netboot images.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: