[yocto] USB Ethernet problems
Hans Beckérus
hans.beckerus at gmail.com
Fri Apr 5 06:50:26 PDT 2013
On Fri, Apr 5, 2013 at 3:27 PM, Gary Thomas <gary at mlbassoc.com> wrote:
> On 2013-04-05 07:23, Gary Thomas wrote:
>
>> 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
>>
>>
>> That is what I have. I use whatever default poky gave me ;)
But looking at your log makes me wonder if your system simply are running a
lot more other stuff causing networking to be delayed enough for the ASIX
device to be probed before /etc/init.d/networking is executed?
Also, this
[ 1.999420] gadget: Ethernet Gadget, version: Memorial Day 2008
[ 2.005798] gadget: g_ether ready
I have not added USB gadget interface support for Ethernet in my kernel. Do
I really need it? I don't think that the ASIX is using that interface, is
it not using the old classic USB device modell?
> Sorry for the extra noise in the log - I didn't realize that it
> was still on while I was checking the /etc/network/interfaces file...
>
> No problem ;)
Hans
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130405/dbf5438a/attachment.html>
More information about the yocto
mailing list