[yocto] USB Ethernet problems
Gary Thomas
gary at mlbassoc.com
Fri Apr 5 06:23:45 PDT 2013
On 2013-04-05 06:57, Hans Beckérus wrote:
>
>
> On Fri, Apr 5, 2013 at 2:48 PM, Gary Thomas <gary at mlbassoc.com <mailto:gary at mlbassoc.com>> wrote:
>
> On 2013-04-05 06:38, Hans Beckérus wrote:
>
>
>
> On Fri, Apr 5, 2013 at 12:16 PM, Gary Thomas <gary at mlbassoc.com <mailto:gary at mlbassoc.com> <mailto:gary at mlbassoc.com <mailto:gary at mlbassoc.com>>> wrote:
>
> On 2013-04-05 03:08, Hans Beckérus wrote:
>
> Hi. In our configuration we do not have an on-board Ethernet device. It connected to the USB-host adapter.
> It seems that probing of such devices are done very late in the kernel boot-up which means it gets out of sync with the network init script(s)
> and the NIC thus has to be brought up manually after boot.
>
> ...
> usb 1-1: new high-speed USB device number 2 using xusbps-ehci
> hub 1-1:1.0: USB hub found
> hub 1-1:1.0: 4 ports detected
> VFS: Mounted root (ext2 filesystem) on device 1:0.
> devtmpfs: mounted
> Freeing init memory: 152K
> INIT: version 2.88 booting
> usb 1-1.4: new high-speed USB device number 3 using xusbps-ehci
> Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
> bootlogd.
> Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
> INIT: Entering runlevel: 5
> Starting Dropbear SSH server: NET: Registered protocol family 10
> dropbear.
> Starting syslogd/klogd: done
> Stopping Bootlog daemon: bootlogd.
> asix 1-1.4:1.0: eth0: register 'asix' at usb-xusbps-ehci.0-1.4, ASIX AX88772 USB 2.0 Ethernet, fc:75:16:cf:6a:86
> ...
>
> Is there some way to configure a system through Yocto to handle this scenario?
>
>
> I run exactly this setup on many different platforms with no issues
> so it can definitely be done with Poky/Yocto.
>
> What system (target) are you using?
> What version of the metadata (Poky/Yocto) are you using? master? danny? etc
> How is your network device configured?
>
> I am on branch master.
> My network device is *not* configured. That is the whole point/?problem?. The kernel knowns nothing about the NIC at boot.
> It is not detected until it first detects the USB 2.0 host adapter. Then after a few moments the NIC is probed and eth0 becomes available through the ASIX driver. But its
> too late,
> the /etc/init.d/networking is already done trying ifup :(
> Is there some configuration on network level I can do to fix this? Right now I have an ugly patch in /etc/init.d/networking that spins until eth0 comes up. It solves the sync
> issue, but also requires some sort of timeout to not get stuck forever if the device is never inserted :(
>
>
> Is your ethernet driver compiled in or a kernel module?
>
> I'm using a compiled in driver (the same one BTW) and it works fine.
>
>
> It is compiled into the kernel. If you look at boot log I sent in the initial mail you can see that the actual ASIX device (D-Link DUB-E100) is detected much later than the host
> adapter :( How is it in your case?
> Maybe it is the actual device that is not responding quickly enough? Are you pre-configuring anything in your bootargs prepared from U-Boot for eth?
No, I don't do anything special at all. My boot log is attached.
You can see that the interface (on the USB) is found quite early.
That said, the system works fine even if I plug it in later on.
You still did not show us your '/etc/network/interfaces' file.
Mine contains these lines which make it handle the network device
coming and going:
# Wired interface (on optional board)
auto eth0
iface eth0 inet dhcp
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p82.log
Type: text/x-log
Size: 28175 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130405/cdad86ea/attachment.bin>
More information about the yocto
mailing list