diff -r 12e494045696 sys/src/cmd/nusb/disk/disk.c --- a/sys/src/cmd/nusb/disk/disk.c Mon Feb 13 22:28:35 2017 +0100 +++ b/sys/src/cmd/nusb/disk/disk.c Wed Feb 15 05:53:52 2017 -0800 @@ -939,7 +939,7 @@ continue; csp = ep->iface->csp; sc = Subclass(csp); - if(!(Class(csp) == Clstorage && (Proto(csp) == Protobulk))) + if(!(Class(csp) == Clstorage && (Proto(csp) == Protobulk || Proto(csp) == Protouasp))) continue; if(sc != Subatapi && sc != Sub8070 && sc != Subscsi) fprint(2, "disk: subclass %#ulx not supported. trying anyway\n", sc); diff -r 12e494045696 sys/src/cmd/nusb/disk/ums.h --- a/sys/src/cmd/nusb/disk/ums.h Mon Feb 13 22:28:35 2017 +0100 +++ b/sys/src/cmd/nusb/disk/ums.h Wed Feb 15 05:53:52 2017 -0800 @@ -14,6 +14,7 @@ Protocbi = 0, /* control/bulk/interrupt; mainly floppies */ Protocb = 1, /* " with no interrupt; mainly floppies */ Protobulk = 0x50, /* bulk only */ + Protouasp = 0x62, /* USB attached SCSI protocol */ Subrbc = 1, /* reduced blk cmds */ Subatapi = 2, /* cd/dvd using sff-8020i or mmc-2 cmd blks */ diff -r 12e494045696 sys/src/cmd/nusb/ptp/ptp.c --- a/sys/src/cmd/nusb/ptp/ptp.c Mon Feb 13 22:28:35 2017 +0100 +++ b/sys/src/cmd/nusb/ptp/ptp.c Wed Feb 15 05:53:52 2017 -0800 @@ -555,7 +555,7 @@ x->handle = NUM(path); x->store = GET4(p); x->format = GET2(p+4); - if(x->format == 0x3001 && GET2(p+42) == 1){ + if(x->format == 0x3001){ x->d.qid.type = QTDIR; x->d.mode = DMDIR|0777; } else {