На своем Lenovo ThinkPad X260 я с самого начала использую только Linux Mint и очень этим доволен. Все прекрасно работает, «на борту» полный комплект оборудования — качественный звук (динамик и микрофон), отличная web-камера, встроенный wi-fi адаптер, разъем ethernet и даже 4G LTE модем от Huawei (что позволяет мне подключаться к сети интернет в любом месте).
И все это мощное хозяйство у меня до недавних пор прекрасно работало под Linux Mint 20.3. Однако в последнее время мне регулярно стали поступать угрозы о скором окончании срока поддержки версии Linux Mint 20.3, так что мне пришлось подняться до версии Linux Mint 21.3. Поначалу все было хорошо (если не считать того, что значки на рабочем столе стали жить своей жизнью — прыгают туда-сюда, никак не желая оставаться на тех местах, куда я их поставил), но однажды я решил проверить свой мобильный интернет (мне довольно редко приходится им пользоваться, так как wi-fi или ethernet практически всегда под рукой) и с ужасом обнаружил, что его нет. Небольшое расследование установило, что мобильного интернета нет потому, что на моем ноутбуке теперь якобы нет GSM-модема. Был, да сплыл. Linux Mint 21.3 его не видит (хоть, физически он, разумеется, никуда не делся). Копнув немного глубже, я понял, что в системе нет драйвера для этого чудесного устройства. Оказывается, Linux Mint 21.3 знает о многих модемах, но о Huawei ME906S 4G LTE ему, увы, ничего не известно.
Я уже не помнил, конечно, каким образом я в те давние времена, когда я ставил на свой Lenovo ThinkPad X260 систему Linux Mint 20.3 заставил ее подружиться с Huawei ME906S 4G LTE, поэтому мне пришлось начинать опять все с начала. (И чтобы не повторять своих ошибок, я решил написать эту статью, которая поможет мне в будущем, когда я опять вынужден буду поднимать новую версию Linux Mint на своем прекрасном ноутбуке, быстро справиться с этой проблемой.)
Обыскав весь интернет, я обнаружил, что на сайте Huawei ничего нет, но на сайте Lenovo вдруг обнаружилась страница «ThinkPad Huawei ME906S 4G LTE Mobile Broadband», на которой был драйвер, но почему-то только для Windows. Я уже почти было впал в уныние, но тут вдруг нашел на каком-то форуме скрипт, который прекрасно заменил собою искомый драйвер (в результате его применения у меня все прекрасно заработало).
Рецепт заключается в том, чтобы в каталоге /etc/udev/rules.d создать файл huawei-me906s.rules с таким содержимым (вот вам и весь «драйвер» для Huawei ME906S 4G LTE под Linux из трех строчек):
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="15c1", ATTR{bConfigurationValue}!="3", ATTR{bConfigurationValue}:="0" ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="15c1", ATTR{bConfigurationValue}!="3", RUN+="/bin/sh -c 'sleep 1; echo 3 > %S%p/bConfigurationValue'" ACTION=="add|change", SUBSYSTEM=="net", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="15c1", ATTR{cdc_ncm/ndp_to_end}=="N", ATTR{cdc_ncm/ndp_to_end}:="Y"
Естественно, систему нужно перезагрузить, после чего все работает, как часы.