New USB driver & API (updated)

Hans Petter Selasky hselasky at c2i.net
Wed Sep 21 15:45:25 PDT 2005


On Wednesday 21 September 2005 19:11, Molnár Csaba wrote:
> I have tried your patches - and for the first time, device nodes were
> created for my USB Ipod-Mini. Previously, it worked only when atapicam was
> not built into the kernel. It was recognized, but no device nodes were
> created. (fireware ipods worked fine).
>
> On the other hand, my usb stick froze my computer, during file operations
> (copy, delete). This was the console message I got:

I think that the freeze has something to do with how "umass" is designed. I 
have also seen this on my computer. Umass does not pre-allocate memory, but 
allocates this from the "callbacks", which are called from interrupt context. 
When the interrupt handler sleeps, and this interrupt is shared, then those 
devices that use that interrupt handler will not respond.

It is not so difficult to change umass a little, so that it pre-allocates this 
memory, but I don't know what the maximum transfer size is, hence the data 
packets come from the CAM layer. So if there is a 512K to transfer, maybe 
that can be split into 8 transfers of 64K ?

>
> umass0: SCSI over Bulk-Only; quirks = 0x0000
> umass0:4:0:-1: Attached to scbus4
> da0 at umass-sim0 bus 0 target 0 lun 0
> da0: <S Talent Flash Drive 2.0 1000> Removable Direct Access SCSI-0 device
> da0: 40.000MB/s transfers
> da0: 123MB (252928 512 byte sectors: 64H 32S/T 123C)
> umass0: Invalid CSW: tag 1463 should be 1464
> umass0: Invalid CSW: tag 538976288 should be 1468
> umass0: Invalid CSW: tag 538976288 should be 1469
> umass0: Invalid CSW: tag 538976288 should be 1470
> umass0: Invalid CSW: tag 538976288 should be 1471
> umass0: Invalid CSW: tag 538976288 should be 1472
>

How much ram have you got?

Are you running KDE?

--HPS


More information about the freebsd-usb mailing list