DMA misaligned error with device 0

Hello,

after plug-in my USB-to-Ethernet I get this on /dev/ttyS0:

usb 2-1.1: device v0bda p8150 is not supported
usb 2-1.1: configuration #1 chosen from 1 choice
rtl8150: eth0: rtl8150 is detected
rtl8150: eth0: allmulti set
rtl8150: eth0: allmulti set
ADDRCONF(NETDEV_UP): eth0: link is not ready
rtl8150: eth0: allmulti set
rtl8150: eth0: allmulti set
rtl8150: eth0: allmulti set
rtl8150: eth0: allmulti set
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
rtl8150: eth0: allmulti set
DMA misaligned error with device 0
DMA misaligned error with device 0
DMA misaligned error with device 0
.
.
.

The error "DMA misaligned error with device 0" continues over and over
every few seconds. Despite this the ethernet link works fine.

Should I do something?

Marco

I'm also experiencing this with the rt2x00/rt73usb driver. I tried
kernel 2.6.22, 2.6.26, 2.6.27 and now Koen's 2.6.27+2.6.28-rc6-git
kernel, and the message is there with all of the first 3 kernels. The
git kernel crashes in the musb driver whenever I plug in any device
through a HS hub (or at least it does with the WiFi stick, an USB
memory stick and a card reader). Strangely, there seems to be a
beagleboard-specific patch for the kernel called 'musb-dma-fix.patch'
or something like that, but it doesn't seem to help.

I'm waiting for a 2.6.28 OMAP kernel before drawing conclusions about
the musb crashes, but for me, it isn't working at all on any newer
kernel. 2.6.26 appears to be the most stable of all kernels, but that
crashes when I use the WiFi stick while writing to the MMC slot or any
other storage device attached through USB.

hi. Marco.

I have the same problem as you.

hope some one can give us some good suggestions.

thanks!

/favor

hi. Marco.

I have the same problem as you.

hope some one can give us some good suggestions.

<snip>

rtl8150: eth0: allmulti set
DMA misaligned error with device 0
DMA misaligned error with device 0
DMA misaligned error with device 0
.
.
.

The error "DMA misaligned error with device 0" continues over and over
every few seconds. Despite this the ethernet link works fine.

Can you try with the PIO mode in mentor USB driver (in kernel
menuconfig ->Device Drivers ->USB Support ->Disable DMA(always use
PIO) )?.config would look like: (From TI kernel here:[1])
CONFIG_USB_MUSB_OTG=y
CONFIG_USB_GADGET_MUSB_HDRC=y
CONFIG_USB_MUSB_HDRC_HCD=y
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_MUSB_LOGLEVEL=1

I suspect the issue might be with 0 byte short packets and system dma
being attempted to be configured for that..
Regards,
Nishanth Menon
Ref:
[1] http://git.omapzoom.com/?p=omapkernel.git;a=summary

Nishanth:

Setting MUSB_MODE_ONLY=y now gives me this behaviour when plugging in
the WiFi stick:

root@beagleboard:~# usb 2-1: new high speed USB device using musb_hdrc
and address 2
usb 2-1: configuration #1 chosen from 1 choice
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
usb 2-1: USB disconnect, address 2
usb 2-1: new high speed USB device using musb_hdrc and address 3
usb 2-1: device descriptor read/64, error -110

The card reader does seem to work, but it already did without the PIO
setting.

Anyway, something seems severely broken with the musb driver and the
rt2x00 WiFi stick, as I have only one (1) kernel that actually loads
the driver without oopsing, and with that kernel WiFi works perfectly
until I plug in another USB device or start large transfers to and
from the MMC, the kernel will oops in the rt2x00 driver non-
deterministically if I do that.

All other kernels, especially > 2.6.26 have serious issues with any
USB device I try to hook up. I guess I'll just wait until a .28 kernel
is available and see if the problem persists.

Thanks for your help! Wouter

could you pop a question accross on linux-omap@vger.kernel.org ? I
hear that the DMA model in the kernel for USB might be under works..
Regards,
Nishanth Menon

Can you give the old legacy drivers a try? I have not had much luck
getting the new driver that you are using. But the old drivers worked
for me on other OMAP3 boards (SDP, EVM, and Zoom) with the Linksys USB
WiFi which also uses the RT73. The last kernel version I personally
tried it with is a 2.6.24 + misc. I was not able to get very far with
the rewritten rt2x00 driver in 2.6.24.

The drivers are at:
http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz