USB support in the HardHet Linux 2.4.2 on the IBM Walnut

4 messages, 4 authors, 2001-09-04 · open the first message on its own page

USB support in the HardHet Linux 2.4.2 on the IBM Walnut

From: Alexander Kolesnikov <hidden>
Date: 2001-08-30 09:19:52

Hi All,

We have problems with different USB chips on the Walnut board:

1.Using of a OHCI chip causes to kernel crash. This problem is famous but
we really need to know whether does any "on the shelf" solution for the
particular case exist.

2.When a UHCI chip is used, the USB device connecting to it causes to the
following error messages:

	usb_control/buk_msg:timeout
	usb.c:USB device not accepting new address = XX (error=-110)

The used USB hubs and devices work properly with another OS on the PC
platform.

Thanks in advance.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: USB support in the HardHet Linux 2.4.2 on the IBM Walnut

From: Adrian Cox <hidden>
Date: 2001-08-30 09:38:35

Alexander Kolesnikov wrote:

2.When a UHCI chip is used, the USB device connecting to it causes to the
following error messages:

    usb_control/buk_msg:timeout
    usb.c:USB device not accepting new address = XX (error=-110)

This is most likely either an endianess problem in the UHCI controller
code, or an interrupt problem. The UHCI code in recent 2.4 kernels
(2.4.6 and onwards, I think) supports big-endian hosts. The UHCI code in
the mainstream 2.4.2 did not support big-endian hosts, and I don't think
the HardHat kernel was any different.

--
Adrian Cox   http://www.humboldt.co.uk/


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: USB support in the HardHet Linux 2.4.2 on the IBM Walnut

From: Eli Chen <hidden>
Date: 2001-09-04 00:05:24

Alexander,

We have managed to get the USB ohci driver to work on the Walnut board.  I
believe one of the problems was that the 405gp platform did not guarantee
cache coherency for pci-dma.  This is supposedly fixed by patches
ohci-0323*.patch and pcipool patches (you can find on usb-devel mailing
list).

That didn't improve things at all.  Then I discovered that cache invalidates
were happening on addresses not aligned with the 405gp cacheline.  This
junked some good data, and I fixed it by using kmalloc'ed memory for dma and
aligning end addresses manually.  I also have a fix for the Pegasus ethernet
dongle (other drivers probably have to be patched as well.)

The code uses a macro called L1_CACHE_ALIGN:
#define L1_CACHE_ALIGN(x)
(((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1))

where L1_CACHE_BYTES is 32 for 405gp.


hope this helps!  sorry if it's too messy.  I'll try to help more if I can.

Eli

----- Original Message -----
From: "Alexander Kolesnikov" <redacted>
To: <redacted>
Sent: Thursday, August 30, 2001 2:19 AM
Subject: USB support in the HardHet Linux 2.4.2 on the IBM Walnut

Hi All,

We have problems with different USB chips on the Walnut board:

1.Using of a OHCI chip causes to kernel crash. This problem is famous but
we really need to know whether does any "on the shelf" solution for the
particular case exist.

2.When a UHCI chip is used, the USB device connecting to it causes to the
following error messages:

usb_control/buk_msg:timeout
usb.c:USB device not accepting new address = XX (error=-110)

The used USB hubs and devices work properly with another OS on the PC
platform.

Thanks in advance.

Re: USB support in the HardHet Linux 2.4.2 on the IBM Walnut

From: Dan Malek <hidden>
Date: 2001-09-04 19:56:50

Eli Chen wrote:
We have managed to get the USB ohci driver to work on the Walnut board.  I
believe one of the problems was that the 405gp platform did not guarantee
cache coherency for pci-dma.

All of the problems found so far are associated with cache coherency.
One of the changes, which still isn't really correct, is to change the
consistent_sync() function to always writeback and invalidate.  We
seem to be more lucky with this, but the proper solution is to cache
line align all buffers subject to DMA.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help