Re: [PATCH] Documentation: usb: serial: fixed how to provide vendor and product id

From: Dr. H. Nikolaus Schaller
Date: Mon Mar 30 2015 - 05:32:54 EST


Hi Johan,

Am 30.03.2015 um 09:45 schrieb Johan Hovold <johan@xxxxxxxxxx>:

> On Sat, Mar 28, 2015 at 02:37:57PM +0100, Marek Belisko wrote:
>> From: "H. Nikolaus Schaller" <hns@xxxxxxxxxxxxx>
>>
>> While trying to test the Pyra GSM/GPS/3G module I had reconfigured
>> the USB interface by mistake and therefore needed to run a different
>> USB driver than CSC-ACM. It turned out that I need the "usbserial" driver.
>
> CDC-ACM

oh, thanks. There is always at least one more typo in any document…

>
>> This file is an official description how to use it:
>> Documentation/usb/usb-serial.txt
>>
>> But it is outdated. The parameters vendor= and product= are no longer
>> available since ca. 3.12 which means that documentation is lagging behind
>> quite some time.
>
> This is simply not true. The vendor and module parameters are still
> there for usbserial (i.e. the generic driver).
>
> Would you mind updating this patch to document the sysfs-method as an
> alternative instead? Using sysfs is preferred as that functionality can
> be used with any usb-serial driver and the drivers can also be compiled
> in.

Hm. For me it did not work as described and therefore I searched for
and found the solution cited below, which appears to confirm that it does
not work any more. Only with these hints to use the /sys approach I
could make it working immediately.

Therefore I assumed that the documentation is outdated.

But it might also be a hidden bug with the parameter passing.
I had tested on 4.0-rc3.

I can try a little more but it might be waste of time to find out why the old
does not work, if there is a preferred method now.

>
>> Here was the solution:
>>
>> https://bbs.archlinux.org/viewtopic.php?id=175499
>>
>> insmod usbserial vendor=0x#### product=0x####
>>
>> becomes (first #### is vendor, second is product)
>>
>> modprobe usbserial
>> echo #### #### >/sys/bus/usb-serial/drivers/generic/new_id
>>
>> This patch changes the documentation file as needed.
>>
>> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
>> Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx>
>> ---
>> Documentation/usb/usb-serial.txt | 12 +++++++-----
>> 1 file changed, 7 insertions(+), 5 deletions(-)
>>
>> diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt
>> index 947fa62..9f184d8 100644
>> --- a/Documentation/usb/usb-serial.txt
>> +++ b/Documentation/usb/usb-serial.txt
>> @@ -466,11 +466,13 @@ Generic Serial driver
>> is required of your device is that it has at least one bulk in endpoint,
>> or one bulk out endpoint.
>>
>> - To enable the generic driver to recognize your device, build the driver
>> - as a module and load it by the following invocation:
>> - insmod usbserial vendor=0x#### product=0x####
>> - where the #### is replaced with the hex representation of your device's
>> - vendor id and product id.
>> + To enable the generic driver to recognize your device, configure
>> + USB_SERIAL_GENERIC=y and build the driver as a module. Then load it by the
>
> You don't need to build the driver as a module when using the sysfs
> method.

Ok, that is right and my formulation is too narrow on that.

So we just s/ as a module//.

>
>> + following invocation:
>> + modprobe usbserial
>> + echo #### #### >/sys/bus/usb-serial/drivers/generic/new_id
>> + where the the first #### is replaced with the hex representation of your
>> + device's vendor id and the second #### by the product id.
>>
>> This driver has been successfully used to connect to the NetChip USB
>> development board, providing a way to develop USB firmware without
>
> Thanks,
> Johan

Thanks as well,
Nikolaus


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/