usb network device

Hello,

I have a usb ethernet adapter, available here:
http://www.dealextreme.com/details.dx/sku.2797

This adapter works perfectly on my x86 ubuntu linux system, but I
cannot get it to work on the beagle board.

When I plug the ethernet adaptor into my x86 system, dmesg reads:
usb 2-2: new full speed USB device using uhci_hcd and address 20
usb 2-2: configuration #1 chosen from 1 choice
eth1: register 'dm9601' at usb-0000:07:00.0-2, Davicom DM9601 USB
Ethernet, 00:60:78:05:e9:c9
eth1: link down
ADDRCONF(NETDEV_UP): eth1: link is not ready
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: link up, 100Mbps, full-duplex, lpa 0x41E1

On the beagle board:
usb 2-1.4: new full speed USB device using musb_hdrc and address 46
usb 2-1.4: device v0a46 p9601 is not supported
usb 2-1.4: configuration #1 chosen from 1 choice
eth0: register 'dm9601' at usb-musb_hdrc-1.4, Davicom DM9601 USB
Ethernet, 00:60:78:05:e9:c9
usb 2-1: USB disconnect, address 45
usb 2-1.4: USB disconnect, address 46
eth0: unregister 'dm9601' usb-musb_hdrc-1.4, Davicom DM9601 USB Ethernet

Am I missing a kernel module? The module dm9601 is loaded. Maybe
someone has some insight?

I also have two usb wifi adapters which work perfectly on my x86
ubuntu system and neither work on the beagle board. I have some
devices which are virtual comm ports also over usb, and they work on
the beagle board.. but I have noticed glitches like the device having
"input/output errors" and required me to unplug and plug the device
back in which I have never seen before.

When I run the usb port in device mode, I can connect to my other
computer via usb ethernet and this works without problems.. but this
is different from host mode.

I am using the 2.6.28 kernel and modules from:
http://www.angstrom-distribution.org/demo/beagleboard/

Sorry if I left out any details, please ask. I would like to
understand the problem.

Thanks,
Sean

Do you have a powered hub in the middle? The otg port only provides 100mA.

Hi,

I have managed to get an external harddrive, and bluetooth working
through my powered hub, so that is not the issue. I am not sure why
my networking usb devices (wifi and ethernet) do not work.. both work
fine on x86 linux.

The wifi adapters complain about not finding the firmware. It is the
zd1211 driver.. so it really should work, for example in dmesg:

usb 2-1.2: Could not load firmware file zd1211/zd1211b_uphr. Error number -2
WARNING: at drivers/usb/musb/musb_host.c:128 musb_h_tx_flush_fifo+0x94/0xd4()
Could not flush host TX0 fifo: csr: 020a

If anyone has seen these errors or can make sense of them I would like
to know. Happened with 2.6.28 and 2.6.29 kernels.

If someone has a working zd1211 usb wifi adapter with their beagle
board, I would like to ship you mine so you can try it with your
beagle and see if it works or not. Then maybe we can determine more
accurately the source of the problem and fix it.. I am sure there are
bugs in musb.

Thanks,
Sean

the zd1211 firmware is not in the angstrom image (assuming you used
that one).
See http://www.elinux.org/BeagleBoard/James#Adding_WiFi_support on how
to get it.
zd1211 works fine for me!

FM

Hi,

FM, I tried with the instructions from the link you sent without success.

I have tried copying the firmware files from my ubuntu box (as I found
soneone on this mailing list had one with success last october) onto
the sd card, and also downloading the firmware from sourceforge. I
get the same result:

usb 2-1.2: new high speed USB device using musb_hdrc and address 3
usb 2-1.2: device v0ace p1215 is not supported
usb 2-1.2: configuration #1 chosen from 1 choice
usb 2-1.2: reset high speed USB device using musb_hdrc and address 3
wmaster0 (zd1211rw): not using net_device_ops yet
wlan0 (zd1211rw): not using net_device_ops yet
zd1211rw 2-1.2:1.0: phy0
usb 2-1.2: firmware: requesting zd1211/zd1211b_ub
usb 2-1.2: firmware: requesting zd1211/zd1211b_uphr
usb 2-1.2: Could not load firmware file zd1211/zd1211b_uphr. Error number -2
zd1211rw 2-1.2:1.0: couldn't load firmware. Error number -2
usb 2-1.2: firmware: requesting zd1211/zd1211b_ub
usb 2-1.2: firmware: requesting zd1211/zd1211b_uphr
zd1211rw 2-1.2:1.0: firmware version 4725
zd1211rw 2-1.2:1.0: zd1211b chip 0ace:1215 v4810 high 00-02-72
AL2230_RF pa0 g--NS
cfg80211: Calling CRDA for country: DE
ADDRCONF(NETDEV_UP): wlan0: link is not ready

If I remove the firmware files entirely I get:

usb 2-1.2: USB disconnect, address 3
zd1211rw 2-1.2:1.0: error ioread32(CR_REG1): -22
usb 2-1.2: new high speed USB device using musb_hdrc and address 4
usb 2-1.2: device v0ace p1215 is not supported
usb 2-1.2: configuration #1 chosen from 1 choice
usb 2-1.2: reset high speed USB device using musb_hdrc and address 4
wmaster0 (zd1211rw): not using net_device_ops yet
wlan0 (zd1211rw): not using net_device_ops yet
zd1211rw 2-1.2:1.0: phy1
usb 2-1.2: firmware: requesting zd1211/zd1211b_ub
usb 2-1.2: Could not load firmware file zd1211/zd1211b_ub. Error number -2
zd1211rw 2-1.2:1.0: couldn't load firmware. Error number -2
usb 2-1.2: firmware: requesting zd1211/zd1211b_ub
usb 2-1.2: Could not load firmware file zd1211/zd1211b_ub. Error number -2
zd1211rw 2-1.2:1.0: couldn't load firmware. Error number -2

It looks like it can get the zd1211b_ub, but not zd1211b_uphr, but I
confirmed I do have both files in /lib/firmware/zd1211

Any insight is appreciated.

Thanks,
Sean

I get a mixture of Error number -2 and Error number -110 with my
Trendnet usb wifi adapter using the zd1211 driver. If anyone ever
figures out how these problems, I'd be very interested to know. I'd
suggest trying the old 2.6.26 kernel and see if that works. Once upon
a time it worked for me on that kernel.

- Dan

Error 2 is ENOENT = no such file or directory
Could it be that the name is wrong? Or that the filemode is wrong?

My files are all mode 644 (rw-r--r--)
md5sums of my fw files (from my opensuse box, seems I reinstalled my
beagle and not restore the files)
0a8573604fa5ce9761b717610765f335 zd1211b_ub
432ac12a108496ea074eac59ac36bbb3 zd1211b_uph
8e20edaee2720dfa1d708376477e7613 zd1211b_uphm
49a37121bc78e930be618ee534d1dfa1 zd1211b_uphr
24942601c03721fe605336a2facf4c15 zd1211b_ur
86c2d2fae72e8921b510d7bd13be4c24 zd1211_ub
432ac12a108496ea074eac59ac36bbb3 zd1211_uph
a3d88304fcf81bf6e6723929f3cf5118 zd1211_uphm
491aeb0e0d558c9461445979fe9ef074 zd1211_uphr
24942601c03721fe605336a2facf4c15 zd1211_ur

What kind of dongle do you have?

Frans.

Hi,

Error 2 is ENOENT = no such file or directory
Could it be that the name is wrong? Or that the filemode is wrong?

My files are all mode 644 (rw-r--r--)

All of the files are 644 -rw-r--r--

Does this look right:

root@beagleboard:/lib/firmware/zd1211# ls -l
-rw-r--r-- 1 root root 4018 Mar 19 2009 zd1211_ub
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211_uph
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211_uphm
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211_uphr
-rw-r--r-- 1 root root 3584 Mar 19 2009 zd1211_ur
-rw-r--r-- 1 root root 4018 Mar 19 2009 zd1211b_ub
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211b_uph
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211b_uphm
-rw-r--r-- 1 root root 5120 Mar 19 2009 zd1211b_uphr
-rw-r--r-- 1 root root 3584 Mar 19 2009 zd1211b_ur

I have completely different checksums than you do
for the files. I think from my errors the kernel finds zd1211b_ub but
not zd1211b_uphr is this right?

What kind of dongle do you have?

from lsusb -v:

  idVendor 0x0ace ZyDAS
  idProduct 0x1215 WLA-54L WiFi
  bcdDevice 48.10
  iManufacturer 16 ZyDAS
  iProduct 32 USB2.0 WLAN

Thanks for the help so far.

Sean

Interesting.
My file sizes are the same as yours. I've been lazy with the md5sums
as I just took them from my opensuse system.
However I had an interesting :frowning: surprise.
Whereas my dongle worked with 2.6.27, it does not work any more with
2.6.28 (r15)
error: usb 1-2.1: Could not load firmware file zd1211/zd1211_uphr.
Error number -2

puzzled !

Frans

btw my dongle is a 3com 3CRUSB10075 usb id: 6891 a727

Interesting.
My file sizes are the same as yours. I've been lazy with the md5sums
as I just took them from my opensuse system.
However I had an interesting :frowning: surprise.
Whereas my dongle worked with 2.6.27, it does not work any more with
2.6.28 (r15)
error: usb 1-2.1: Could not load firmware file zd1211/zd1211_uphr.
Error number -2

puzzled !

Wow.. I have only used 2.6.28 and 2.6.29. I tried 2.6.27, and yes now
the wifi works! So it looks like now I need to do some diffs and try
to figure out what changed dealing with firmware so I can fix the
newer kernels.

Have you seen this error?

DMA misaligned error with device 0

Sean

Good luck. I hope you figure it out as it will benefit me and others
too!!!

- Dan

I'm not sure I saw that error. Where exactly does it occur?
A comparison is probably the best way forward (or a git bisect)
Note that .28 also brought me problems with SDHC cards (see other
post) although others do not seem to have that problem.
Looking forward to your results (you might also want to report them in
the linux-omap mailing list).

Btw: where do you get your kernel from? I'm using angstrom kernels.
I've been looking for a .29 kernel; although it is in oe there are no
patches so I never tried to build and test it

FM

Hi,

I am pulling directly from this:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git

or for dss2 from:
http://www.bat.org/~tomba/git/linux-omap-dss.git

I was going to do a git-bisect in the firmware directory.. but I had
trouble compiling 2.6.27 from the dss2 tree.. I'm trying with the old
dss. Everything takes a long time on my slow machine. I can checkout
compile and test about 8 kernels a day.

Sean