On Wed, Mar 04, 2015 at 12:41:09PM -0500, Rick Farina wrote: > > > On 03/04/15 12:34, Greg KH wrote: > > On Wed, Mar 04, 2015 at 12:14:01PM -0500, Rick Farina wrote: > >> 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. > > > > No, use the option driver. > > > >> Can anyone assist me in finding a proper solution instead of echoing to > >> new_id on boot? > > > > Make a patch to the driver, as you mention below :) > > > >> 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. > > > > A patch would be great, that way you get the fix for all future > > releases, and we can backport it to all stable kernel releases. > > I'm happy to do this, but a fix for systems without upgraded kernels > would be helpful. You have that with the script to write to the sysfs file. > Currently I can hack at it through the modprobe.d install command, or a > udev rule. If anyone else has a good idea I'd love to hear it, > otherwise once I get it working I'll submit a patch so others don't need > such ugly hacks. It's not a "ugly" hack, it's the documented way to do it. Some distros provide tools to do this for you at boot time, you might look into that. And again, a kernel patch is the real way to fix it for everyone. thanks, greg k-h -- 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