Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2021 12:20:45 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Milan Obuch <freebsd-usb@dino.sk>, freebsd-usb@freebsd.org
Subject:   Re: USBDMSC emulated device does not work on FreeBSD
Message-ID:  <85cdc03e-e8f1-871c-6e1d-66181e45dcb1@selasky.org>
In-Reply-To: <20211112121806.2db2a908@zeta.dino.sk>
References:  <20211112095915.226af6be@zeta.dino.sk> <6a6850f5-8233-aae7-8e65-42594402fcb5@selasky.org> <20211112120714.73f195a9@zeta.dino.sk> <972a650d-d490-1965-13a4-2fb984531f1d@selasky.org> <20211112121806.2db2a908@zeta.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/12/21 12:18, Milan Obuch wrote:
> On Fri, 12 Nov 2021 12:11:38 +0100
> Hans Petter Selasky <hps@selasky.org> wrote:
> 
>> Hi,
>>
>>> kernel: ugen1.3: <Microchip Inc PolarFireSoc-FlashDrive> at usbus1
>>>
>>> line in console (and later in dmesg). Relevant line in output of
>>> 'usbconfig show_ifdrv' command is
>>>
>>> ugen1.3: <Microchip Inc PolarFireSoc-FlashDrive> at usbus1, cfg=255
>>> md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
>>
>> cfg=255 means something very low level USB failed. It was not able to
>> set the configuration number.
>>
>> Try:
>>
>> usbconfig -d ugen1.3 set_config 0
>>
>> --HPS
>>
> 
> I tried, basically no change (no output on console, no change in output
> of 'usbconfig show_ifdrv' command).
> 
> Also, I tried 'usbconfig -d ugen1.3 dump_all_desc' just out of
> curiosity, output is
> 
> ugen1.3: <Microchip Inc PolarFireSoc-FlashDrive> at usbus1, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
> 
>    bLength = 0x0012
>    bDescriptorType = 0x0001
>    bcdUSB = 0x0200
>    bDeviceClass = 0x0000  <Probed by interface class>
>    bDeviceSubClass = 0x0000
>    bDeviceProtocol = 0x0000
>    bMaxPacketSize0 = 0x0008
>    idVendor = 0x1514
>    idProduct = 0x0001
>    bcdDevice = 0x3000
>    iManufacturer = 0x0001  <retrieving string failed>
>    iProduct = 0x0002  <retrieving string failed>
>    iSerialNumber = 0x0003  <retrieving string failed>
>    bNumConfigurations = 0x0001
> 

Hi,

I suspect the USB implementation in this device is buggy and not fully 
spec. compliant.

You may try to set the UQ_NO_STRINGS quirk on this device and re-plug:

usbconfig -d ugen1.3 add_quirk UQ_NO_STRINGS

Then physically re-plug the device.

--HPS





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85cdc03e-e8f1-871c-6e1d-66181e45dcb1>