usbserial option driver newid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Recently the Huawei e3276 devices my company was buying came with a new
firmware version and the word "hilink" printed all over them.  Instead
of showing up as a usbserial device using the option driver, they show
up now as an ethernet device.  While I can see the convenience factor in
this, it doesn't serve our purpose, so some quick googling showed me I
can enable the serial again with usb_modeswitch and this line:

55534243123456780000000000000011062000000000000200000000000000

When I do this, the usbid changes to 12d1:1566 and using the option
driver works properly with the device.  The problem I have, is that we
are currently using kernel 3.18 and it doesn't have that usbid for my
device.  Things work properly when I run this:

echo "12d1 1566" > /sys/bus/usb-serial/drivers/option1/new_id

My problem is, I was hoping to find a better way to handle this than
having to run a script to do this at boot.  I tried adding the vendor
and product to usbserial using /etc/modprobe.d, however, this causes it
to use the usbserial generic module instead of the option module and
doesn't work.

Can anyone assist me in finding a proper solution instead of echoing to
new_id on boot?

Additionally, it would be nice to officially add this id to the option
driver, it looks like it's not present at this time:

https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/tree/drivers/usb/serial/option.c

I can submit a patch to add it if desired, but right now it would be
super helpful if I can make this work without a kernel patch.

Thanks!
Zero_Chaos
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux