Oliver Neukum <oneukum@xxxxxxx> writes: > On Monday 04 March 2013 23:28:47 Josua Dietze wrote: >> > I guess the real problem will be verifying that all of the entries can >> > go away. This type of hardware tends to get old very fast, but there is >> > always someone having a really ancient device. >> >> I will check this and add any missing USB IDs to usb_modeswitch, but I can't shake the feeling that not all Huawei entries in "unusual_devs.h" did actually materialize as devices ... >> >> Anyway, as Bjørn said, putting that initialization into the storage >> driver takes away quite some possibilities to handle these modems in >> a flexible way. > > But it adds the ability to handle loss of power in the suspend case > cleanly. How is that different? If the device loses power, then it will appear as a new unswitched USB storage device, and go through the switching sequence again. And if the device does not lose power but the system does, then it will appear as a new, already switched, USB modem device. The system behaviour will be exactly the same AFAICS, providing the switching command is the same. > As long as the switch only makes additional devices appear, > doing it in kernel space is the nicer approach. You cannot guarantee this. Huawei may not support it, but there are instructions around the net on how to change this. And how do you want this to play together with complex devices having multiple configurations, where one of those is mode switching and the other is not? Yes, there are Huawei devices like that. The firmware implement a wide variety of different alternative configurations. Some users take advantage of that. Doing the mode switching in the kernel removes all but one of these alternatives. The fact that the one Windows uses is among those removed is IMHO bad, regardless of whether Huawei support that mode on Linux. Bjørn -- 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