Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Aug 2005 03:21:24 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        usb@freebsd.org
Subject:   [Fwd: USB not working on 6.0-BETA2 on ICH7 [long]]
Message-ID:  <1124522484.875.2.camel@shumai.marcuscom.com>

next in thread | raw e-mail | index | archive | help

--=-SSuoOi6Lm5oPncmXaaQW
Content-Type: multipart/mixed; boundary="=-kbgT2s+ijS3pSskm3z1d"


--=-kbgT2s+ijS3pSskm3z1d
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Resending to usb@ since that might be more appropriate.  Something else
to add to this email is that when I build without ehci, by USB 2.0
Cruzer SanDisk is not detected at all, even if it is inserted prior to
boot.  If I insert this device into a machine with an ICH6 chipset, it
works just fine, even in USB 1.x mode.

Again, thanks in advance for any ideas.

Joe

--=20
PGP Key : http://www.marcuscom.com/pgp.asc

--=-kbgT2s+ijS3pSskm3z1d
Content-Disposition: inline
Content-Description: Forwarded message - USB not working on 6.0-BETA2 on
	ICH7 [long]
Content-Type: message/rfc822

Subject: USB not working on 6.0-BETA2 on ICH7 [long]
From: Joe Marcus Clarke <marcus@marcuscom.com>
To: current@freebsd.org
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature";
	boundary="=-XWpQRvJ4oSugfyKShfc+"
Organization: MarcusCom, Inc.
Message-Id: <1123397601.852.32.camel@shumai.marcuscom.com>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 FreeBSD GNOME Team Port
Date: Sun, 07 Aug 2005 02:53:21 -0400


--=-XWpQRvJ4oSugfyKShfc+
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I'm trying to get USB 2.0 working on my Dell Precision 380 that has a
USB ICH7 chipset.  FreeBSD detects the controllers, but they are all
halted when devices are detected.  Here is a verbose boot with USB_DEBUG
enabled: http://www.marcuscom.com/downloads/NEW-SHUMAI.dmesg.  Here is
what I get when I insert a device after the machine has booted:

usb0: host controller halted
usb0 regs: cmd=3D0000, sts=3D0020, intr=3D000f, frnum=3D0771, flbase=3D0000=
0dc4, sof=3D0040, portsc1=3D0080, portsc2=3D0080
intrs=3D0
QH(0xc35e3f80) at 7d697f80: hlink=3D7d697fa2 elink=3D00000001
usb_new_device: set address 2 failed - trying a port reset
usb_new_device: set address 2 failed - trying a port reset
usb_new_device: set address 2 failed - trying a port reset
usb_new_device: set address 2 failed
uhub_explore: usb_new_device failed, error=3DSET_ADDR_FAILED
uhub3: device problem (SET_ADDR_FAILED), disabling port 2

If I build a kernel without ehci, I get working USB, but only if the
device is inserted prior to boot.  That is, usbd does not see any ATTACH
events.  If I have ehci compiled in, and a device is present during
boot, I get a panic:

usb3: host controller halted
usb3 regs: cmd=3D0000, sts=3D0020, intr=3D000f, frnum=3D0347, flbase=3D0000=
0d1c, sof=3D0040, portsc1=3D01a5, portsc2=3D0093
intrs=3D0
QH(0xc3659f80) at 7d5edf80: hlink=3D7d5ecf62 elink=3D00000001
usbd_new_device: addr=3D2, getting first desc failed
uhub_explore: usb_new_device failed, error=3DIOERROR
uhub3: device problem (IOERROR), disabling port 1
panic: usbd_transfer: not done
cpuid =3D 0
KDB: enter: panic
[thread pid 0 tid 0 ]
Stopped at      kdb_enter+0x2b: nop
db> trace
Tracing pid 0 tid 0 td 0xc06f7840
kdb_enter(c069f83d) at kdb_enter+0x2b
panic(c069aa93,4,c35da43c,c35da400,0) at panic+0x127
usbd_transfer(c35da400,c0c20cd8,c04ca43d,c35da400,c36440b0) at usbd_transfe=
r+0x13e
usbd_sync_transfer(c35da400,c36440b0,1,c0c20cec,d) at usbd_sync_transfer+0x=
11
usbd_do_request_flags_pipe(c3644200,c3644180,c0c20d30,c36440c4,0) at usbd_d=
o_request_flags_pipe+0x5d
usbd_do_request_flags(c3644200,c0c20d30,c36440c4,0,0) at usbd_do_request_fl=
ags+0x20
usbd_do_request(c3644200,c0c20d30,c36440c4,a3,40002) at usbd_do_request+0x1=
a
usbd_get_port_status(c3644200,2,c36440c4) at usbd_get_port_status+0x39
uhub_explore(c3644200,c34b7904,c0c20d88,c04e4556,0) at uhub_explore+0x85
usb_cold_explore(0,c1ec00,c1e000,0,c0434245) at usb_cold_explore+0x4f
mi_startup() at mi_startup+0x96
begin() at begin+0x2c

(gdb) l *usbd_transfer+0x13e
0xc04c9b16 is in usbd_transfer (/usr/src/sys/dev/usb/usbdi.c:343).
338             if (err !=3D USBD_IN_PROGRESS)
339                     return (err);
340             s =3D splusb();
341             if (!xfer->done) {
342                     if (pipe->device->bus->use_polling)
343                             panic("usbd_transfer: not done");
344                     tsleep(xfer, PRIBIO, "usbsyn", 0);
345             }
346             splx(s);
347             return (xfer->status);

Any help would be appreciated.  Thanks.

Joe

--=20
PGP Key : http://www.marcuscom.com/pgp.asc

--=-XWpQRvJ4oSugfyKShfc+
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBC9a/gb2iPiv4Uz4cRAvyPAJ9XOIVBcTD7oXoy9+MV7UTE8SXM5gCcCbpZ
dsDpSKphflvnY9YIpIewFws=
=yADY
-----END PGP SIGNATURE-----

--=-XWpQRvJ4oSugfyKShfc+--

--=-kbgT2s+ijS3pSskm3z1d--

--=-SSuoOi6Lm5oPncmXaaQW
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBDBtn0b2iPiv4Uz4cRArBcAJ0UF6yXD3KSWTGL5n+wnqc3l+bbjACdF3lu
Ux/35hJELo3ckyI1PIDCp3E=
=3t87
-----END PGP SIGNATURE-----

--=-SSuoOi6Lm5oPncmXaaQW--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1124522484.875.2.camel>