Date: Mon, 9 Feb 2015 18:36:48 +0100 From: Gary Jennejohn <gljennjohn@gmail.com> To: usb@freebsd.org Subject: r276717 causes problems Message-ID: <20150209183648.7825eee5@ernst.home>
next in thread | raw e-mail | index | archive | help
r276717 breaks access to my 4-disk external USB3 (XHCI) enclosure. The symptom is that only the first of the threee disks is found. r276716 sees all the disks immediately. This is the output for the bridge chip: umass0: <JMicron USB to ATAATAPI Bridge, class 0/0, rev 3.00/28.03, addr 2> on usbus0 The problem seems to be mainly due to setting dma_bits to 64. It's true that the chip on the controller board supports 64 bit DMA, but the JMicron seems to have a real crisis when that setting is used, although I don't know why. Note that the nice output above was obtained after hard coding dma_bits to 32 in xhci_init(). With 64 bits I see this: umass0: <vendor 0x152d product 0x0539, class 0/0, rev 3.00/28.03, addr 3> on usbus0 probably because reading the strings from the device fails. Anyway, it would be nice to have a sysctl to force dma_bits to 32. Unfortunately, I still have a problem with my enclosure with more current versions of HEAD. The rather questionable practice of always doing a multi LUN enquiry using the SCSI-3 CDB byte 0xa0 also causes problems. Considering that most of these bridge chips can barely emulate SCSI-2 it seems rather foolish to try to jam SCSI-3 CDB bytes down their throats. But that's a different story. -- Gary Jennejohn
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150209183648.7825eee5>