OK, after discussion on the upstream mailing lists, we've concluded that the bug causing the reset loop is in the device itself (that it is failing to respect the USB protocols), but that the buggy part of the Osprey 2 Mini is related to installing the Windows and Mac OS X drivers, which aren't needed by Linux. It's possible to blacklist the buggy part (which does not work under Linux even when the reset loops don't happen) via changing a module parameter; this causes the buggy part (the driver installation) to fail, thus allowing the part that most users are using the device for (the Internet connection) to work.
While the system is running, this can be achieved via the following command: $ echo 1bbb:f000:i | sudo tee /sys/module/usb_storage/parameters/quirks (The 1bbb:f000 is specific to the device in question, so it shouldn't have effects on other devices.) I've tested this on the mainline kernel, and it seems to prevent the bug from occurring. I suspect that the same would occur on Ubuntu kernels, but have not tested this yet (I can test it if you think that would be helpful). It might also be possible to set the parameter in question (usb_storage.quirks=1bbb:f000:i) via the kernel command line or configuration; I don't know of a method other than telling the bootloader to set it, which would be far too intrusive a solution for a problem that won't affect most users, but there might be a less intrusive one. This would have the advantage of preventing a crash (on an Ubuntu kernel) if the device were attached during boot. Eventually the Ubuntu kernel is likely to catch up to upstream, meaning that the impact would be much lower and people could just disconnect and reconnect the device to work around this situation. I think it might be worthwhile to get Ubuntu to set the parameter in question automatically in order to fix the bug. However, I'm not sure where the best place to set it would be. The obvious thing to do is to use /etc/sysctl.d, but unfortunately it only seems to affect /proc files rather than /sys files (and the /proc/sys tree and /sys trees are different). Alternatively, if it's possible to set default module arguments in the kernel configuration, that would be another good place. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1556471 Title: Connecting an Osprey 2 Mini (USB cellular wireless router) sometimes causes an endless reset loop or a kernel panic To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1556471/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
