i Уведомление от модератора Bizdelnick Нижеприведённая инструкция не рекомендуется к использованию. Подробности и ссылка на более корректное решение проблемы — в комментариях.
Суть проблемы
Знакомые попросили привести в рабочее состояние старенький нетбук. Тут без вопросов — только xUbuntu. Конечно же ставилась версия 14.04 LTS.
Проблема поднялась, когда выяснилось, что источник интернета - это модем Huawei E398, один из многих, продаваемых операторами сотовой связи. Работать он не захотел.
NB. Модемы от Huawei широко используются нашими ОпСоСами, несмотря на утверждения, что это именно ИХ собственные разработки.
Справедливости ради - есть модели модемов, которые определяются в Ubuntu «изкаропки», но попадаются иногда и нежелающие дружить…
Чтобы модемы определялись и работали нормально под Линукс, Huawei предлагает замечательную программу Mobile Partner (программа именно их, чтобы там не утверждали обратного). Её и пытаюсь установить.
Вот тут встала проблема №2 — при установке программа выдаёт ошибку:
Код: Выделить всё
"make: * [install] Error 2
Install NDIS driver failed.
The compiling environment is not all ready.
Please check gcc, make and kernel build(/lib/modules/3.13.0-24-generic/build) to be all installed?
Now please enter any key to finish other installations.
NDIS is disabled, and only Modem can be used".
These packages gcc, make, and others are installed.
Но Гугл животворящий показал луч света в этом царстве безысходности.
Решение проблем.
Вариант 1
Запускаем в терминале следующую команду после попытки поставить драйвер (когда вывалится сообщение NDIS driver install failed. )
Код: Выделить всё
sudo gedit /usr/local/Mobile_Partner/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c
Находим строчку 2718 и заменяем
Код: Выделить всё
dbg ("cant't kmalloc dev");
на
//dbg ("cant't kmalloc dev");
то есть добавляем двойной правый слеш в начало строки. Сохраняем и закрываем терминал.
Открываем новое окно терминала и задаём путь командой
Код: Выделить всё
cd /usr/local/Mobile_Partner/driver
Переустанавливаем драйвер командой
Код: Выделить всё
sudo ./install
Если всё сделано правильно, то будет сообщение об успешной установке
NDIS driver installed successfully
Но не всё так радужно — нужной строки кода на линии 2718 может не быть. А искать где она — слишком геморройно.
Поэтому
Вариант 2
Создаём скрипт ndis.sh с таким содержанием
Код: Выделить всё
#!/bin/bash
# check if the driver was installed or not
path="/usr/local/Mobile_Partner/driver"
if [ "$(ls -A $path)" ]; then
tput setaf 6; echo "Huawei modem drivers for linux are already installed on your pc.Please wait for NDIS driver installation."; tput sgr0
perl -i -pe 's#^(\s*dbg \("can.t kmalloc dev"\);)#//$1#' /usr/local/Mobile_Partner/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c
cd $path
sudo ./install
else
tput setaf 1; echo "Huawei modem drivers for linux are not installed on your pc.Please install that."; tput sgr0
fi
и помещаем в домашней директории.
Задаём права для этого скрипта
Код: Выделить всё
cd /path/to/the/directory/which/contains/script (прописать полный путь к скрипту)
sudo chmod +x ndis.sh
Скрипт запускать только после неудачной попытки установки NDIS драйвера! Именно то самое Install NDIS driver failed error
Запускаем скрипт
Код: Выделить всё
[b]bash ndis.sh[/b]
Скрипт делает нужные изменения и по завершению его работы производится переустановка драйвера.
Note!
Попалось сообщение, что Mobile Partner перезаписывает очень нужные файлы
usb-modeswitch
usb-modeswitch-data
из-за чего могут быть проблемы с работой самого модема и соединением с интернетом.
В качестве фикса проблемы предлагается снести эти файлы и установить оригинальные из репозитория.