From owner-freebsd-scsi Sun Apr 7 1:55:21 2002 Delivered-To: freebsd-scsi@freebsd.org Received: from hotmail.com (f214.law11.hotmail.com [64.4.17.214]) by hub.freebsd.org (Postfix) with ESMTP id 8CDA437B419 for ; Sun, 7 Apr 2002 01:55:15 -0800 (PST) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sun, 7 Apr 2002 01:55:15 -0800 Received: from 208.151.119.232 by lw11fd.law11.hotmail.msn.com with HTTP; Sun, 07 Apr 2002 09:55:15 GMT X-Originating-IP: [208.151.119.232] From: "Chad Kline" To: freebsd-scsi@freebsd.org Subject: usb mass storage driver - umass Date: Sun, 07 Apr 2002 09:55:15 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 07 Apr 2002 09:55:15.0399 (UTC) FILETIME=[5115E570:01C1DE1A] Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org since usb mass storage driver (umass.c) is tied to scsi stuff, i am posting to see if anyone may be able to direct me to bring about a solution to this problem. from the following, i assume i the link/controller/camera are operational to some extent - as the camera ID is detected just fine by the driver as well as userland programs. $ dmesg (kernel/driver detection, QUIRK=command status signature fix, 0x5343->0x5542) for OLYMPUS C-1's) FreeBSD 4.5-RELEASE #3: Sat Apr 6 22:12:40 AKST 2002 ohci0: mem 0xe1000000-0xe1000fff irq 10 at device 19.0 on pci0 usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: OPTi OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered OLYMPUS - APPLYING CSS QUIRK! OLYMPUS - APPLYING CSS QUIRK! OLYMPUS - APPLYING CSS QUIRK! umass0: OLYMPUS C-1Z,D-150Z, rev 1.10/10.15, addr 2 OLYMPUS - case TSTATE_BBB_RESET1: umass0: BBB reset failed, TIMEOUT OLYMPUS - case TSTATE_BBB_RESET2: umass0: BBB bulk-in clear stall failed, TIMEOUT OLYMPUS - case TSTATE_BBB_RESET3: umass0: BBB bulk-out clear stall failed, TIMEOUT $ usbdevs (userland program) Controller /dev/usb0: addr 1: self powered, config 1, OHCI root hub(0x0000), OPTi(0x0000), rev 0x0100 port 1 addr 2: self powered, config 1, C-1 Digital Camera(0x0102), Olympus(0x07b4), rev 0x1015 port 2 powered without umass0 (USB mass storage driver) being able to complete it's task, i cannot mount the camera's smartmedia disk. supposedly this camera supposedly has "the convenient Auto Connect USB feature lets your computer automatically recognize your Brio Zoom D-150 so you don't have to install any additional software". so i think i should be able to mount this camera. i don't have windows, and don't know of bsd/unix USB snoop software. the failure is in this function - a status state machine. i can't find a calling function, so i assume it's installed as an interrupt handler (i don't know too much about how unix installs handlers/remaps interrupt signals). umass.c: Static void umass_bbb_state(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status err) { /***** Bulk Reset *****/ case TSTATE_BBB_RESET1: if (err) { printf("OLYMPUS - TSTATE_BBB_RESET1\n"); printf("%s: BBB reset failed, %s\n", USBDEVNAME(sc->sc_dev), usbd_errstr(err)); } umass_clear_endpoint_stall(sc, sc->bulkin, sc->bulkin_pipe, TSTATE_BBB_RESET2, sc->transfer_xfer[XFER_BBB_RESET2]); return; case TSTATE_BBB_RESET2: if (err) { /* should not occur */ printf("OLYMPUS - TSTATE_BBB_RESET2!\n"); printf("%s: BBB bulk-in clear stall failed, %s\n", USBDEVNAME(sc->sc_dev), usbd_errstr(err)); /* no error recovery, otherwise we end up in a loop */ } umass_clear_endpoint_stall(sc, sc->bulkout, sc->bulkout_pipe, TSTATE_BBB_RESET3, sc->transfer_xfer[XFER_BBB_RESET3]); return; case TSTATE_BBB_RESET3: if (err) { /* should not occur */ printf("OLYMPUS - TSTATE_BBB_RESET3!\n"); printf("%s: BBB bulk-out clear stall failed, %s\n", USBDEVNAME(sc->sc_dev), usbd_errstr(err)); /* no error recovery, otherwise we end up in a loop */ } sc->transfer_state = TSTATE_IDLE; if (sc->transfer_priv) { sc->transfer_cb(sc, sc->transfer_priv, sc->transfer_datalen, sc->transfer_status); } return; /***** Default *****/ default: panic("%s: Unknown state %d\n", USBDEVNAME(sc->sc_dev), sc->transfer_state); } _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message