Date: Sun, 30 Aug 2009 18:40:35 +0200 From: Milan Obuch <freebsd-usb@dino.sk> To: freebsd-usb@freebsd.org Subject: Re: Huawei E169 and microSD Message-ID: <200908301840.36873.freebsd-usb@dino.sk> In-Reply-To: <200908211231.17340.freebsd-usb@dino.sk> References: <200908200915.36134.freebsd-usb@dino.sk> <200908211229.14428.freebsd-usb@dino.sk> <200908211231.17340.freebsd-usb@dino.sk>
next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_EuqmK8NkXa9ALoi Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Friday 21 August 2009 12:31:16 Milan Obuch wrote: > On Friday 21 August 2009 12:29:14 Milan Obuch wrote: > > On Thursday 20 August 2009 09:15:35 Milan Obuch wrote: > > > Hi, > > > > > > I tested E169 with both 7.2 and 8.0, with u3g loaded it works well > > > here. Download speed 256 kBps is quite good I think. > > > > > > There is possibility to insert microSD into it and this one does not > > > work. > > > > > > In 7.2, microSD is not even detected (see attached log-e169-72). > > > > > > In 8.0, microSD is detected, device created (in my case /dev/da1), but > > > trying to use it gives > > > > > > dd if=/dev/da1 > > > dd: /dev/da1: Device not configured > > > > > > error. And it is not a hardware problem, because I was able to > > > initialize this card in Windows. > Today I tried to get some debug, did sysctl hw.usb.umass.debug=-1, inserted E169 with microSD. Produced debug attached. Maybe it needs some quirk? Regards, Milan --Boundary-00=_EuqmK8NkXa9ALoi Content-Type: text/plain; charset="iso 8859-15"; name="umass1" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="umass1" umass1: <vendor 0x12d1 HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 2> on usbus0 umass1: SCSI over Bulk-Only; quirks = 0x0000 umass1:umass_cam_action: 1:-1:-1:XPT_PATH_INQ:. umass1:1:1:-1: Attached to scbus1 umass1:umass_cam_rescan: scbus1: scanning for 1:1:-1 umass1:umass_cam_action: 1:-1:-1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass1:umass_attach: Attach finishedumass1:umass_bbb_dump_cbw: CBW 1: cmd = 6b (0x120000002400), data = 36b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 1: sig = 0x53425355 (valid), tag = 0x00000001, res = 0, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/56b data/18b sense umass1:umass_bbb_dump_cbw: CBW 2: cmd = 6b (0x120000003800), data = 56b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=56 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 2: sig = 0x53425355 (valid), tag = 0x00000002, res = 0, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass1:umass_bbb_dump_cbw: CBW 3: cmd = 6b (0x12010000ff00), data = 255b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 3: sig = 0x53425355 (valid), tag = 0x00000003, res = 199, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass1:umass_bbb_dump_cbw: CBW 4: cmd = 6b (0x000000000000), data = 0b, lun = 0, dir = out umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 4: sig = 0x53425355 (valid), tag = 0x00000004, res = 0, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 0 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 5: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 5: sig = 0x53425355 (valid), tag = 0x00000005, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_bbb_dump_cbw: CBW 6: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 6: sig = 0x53425355 (valid), tag = 0x00000006, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 7: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 7: sig = 0x53425355 (valid), tag = 0x00000007, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass1:umass_bbb_dump_cbw: CBW 8: cmd = 6b (0x122000002400), data = 36b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 8: sig = 0x53425355 (valid), tag = 0x00000008, res = 0, status = 0x00 (good) umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x1e, flags: 0xc0, 6b cmd/0b data/32b sense umass1:umass_bbb_dump_cbw: CBW 9: cmd = 6b (0x1e0000000100), data = 0b, lun = 0, dir = out umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 9: sig = 0x53425355 (valid), tag = 0x00000009, res = 0, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 0 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 10: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 10: sig = 0x53425355 (valid), tag = 0x0000000a, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/56b data/18b sense umass1:umass_bbb_dump_cbw: CBW 11: cmd = 6b (0x122000003800), data = 56b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=56 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 11: sig = 0x53425355 (valid), tag = 0x0000000b, res = 0, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_bbb_dump_cbw: CBW 12: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 12: sig = 0x53425355 (valid), tag = 0x0000000c, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 13: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 13: sig = 0x53425355 (valid), tag = 0x0000000d, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass1:umass_bbb_dump_cbw: CBW 14: cmd = 6b (0x12210000ff00), data = 255b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_t_bbb_status_callback: Failed to read CSW: USB_ERR_STALLED, try 0 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 14: sig = 0x53425355 (valid), tag = 0x0000000e, res = 255, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 255 umass1:umass_cam_cb: Fetching 18 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 15: cmd = 6b (0x030000001200), data = 18b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=18 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 15: sig = 0x53425355 (valid), tag = 0x0000000f, res = 0, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_SET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x1e, flags: 0xc0, 6b cmd/0b data/32b sense umass1:umass_bbb_dump_cbw: CBW 16: cmd = 6b (0x1e0000000100), data = 0b, lun = 0, dir = out umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 16: sig = 0x53425355 (valid), tag = 0x00000010, res = 0, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 0 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 17: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 17: sig = 0x53425355 (valid), tag = 0x00000011, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass1:umass_bbb_dump_cbw: CBW 18: cmd = 6b (0x002000000000), data = 0b, lun = 1, dir = out umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 18: sig = 0x53425355 (valid), tag = 0x00000012, res = 0, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 0 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 19: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_t_bbb_status_callback: Failed to read CSW: USB_ERR_STALLED, try 0 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 19: sig = 0x53425355 (valid), tag = 0x00000013, res = 32, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 32 umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_bbb_dump_cbw: CBW 20: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 20: sig = 0x53425355 (valid), tag = 0x00000014, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 21: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 21: sig = 0x53425355 (valid), tag = 0x00000015, res = 14, status = 0x00 (good) umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_bbb_dump_cbw: CBW 22: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 22: sig = 0x53425355 (valid), tag = 0x00000016, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 23: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_t_bbb_status_callback: Failed to read CSW: USB_ERR_STALLED, try 0 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 23: sig = 0x53425355 (valid), tag = 0x00000017, res = 32, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 32 umass1:umass_cam_action: 1:0:1:XPT_GET_TRAN_SETTINGS:. umass1:umass_cam_action: 1:0:1:XPT_PATH_INQ:. umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_bbb_dump_cbw: CBW 24: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 24: sig = 0x53425355 (valid), tag = 0x00000018, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 25: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_t_bbb_status_callback: Failed to read CSW: USB_ERR_STALLED, try 0 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 25: sig = 0x53425355 (valid), tag = 0x00000019, res = 32, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 32 umass1:umass_cam_action: 1:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass1:umass_bbb_dump_cbw: CBW 26: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 26: sig = 0x53425355 (valid), tag = 0x0000001a, res = 8, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 8 umass1:umass_cam_cb: Fetching 32 bytes of sense data umass1:umass_bbb_dump_cbw: CBW 27: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass1:umass_transfer_start: transfer index = 4 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass1:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass1:umass_transfer_start: transfer index = 8 umass1:umass_t_bbb_status_callback: Failed to read CSW: USB_ERR_STALLED, try 0 umass1:umass_transfer_start: transfer index = 5 umass1:umass_transfer_start: transfer index = 8 umass1:umass_bbb_dump_csw: CSW 27: sig = 0x53425355 (valid), tag = 0x0000001b, res = 32, status = 0x01 (failed) umass1:umass_t_bbb_status_callback: Command failed, residue = 32 --Boundary-00=_EuqmK8NkXa9ALoi--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908301840.36873.freebsd-usb>