Автор Тема: Huawei E1550  (Прочитано 35235 раз)

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #45 : 10.12.2009 09:48:39 »
Возможно, его надо передергивать, чтобы он распознавался именно как модем.

Рецепт отсюда: http://wiki.lynxworks.eu/misc/e1550

# apt-get install usb_modeswitch
# cat > /etc/usb_modeswitch.conf <<EOF
DefaultVendor = 0x12d1
DefaultProduct = 0x1446
MessageEndPoint = "0x01"
MessageContent = "55534243000000000000000000000011060000000000000000000000000000"
EOF
# cat > /etc/udev/rules.d/100-huawei-e1550.rules <<EOF
SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1",
RUN+="/usr/bin/usb_modeswitch"
EOF

Проверить сам не могу, так как нет ни одного USB-устройства.

Я таки заставил kppp видеть этот модем. Теперь он цепляется на ttyUSB0. Как я это сделал: переустановил встроенную в модем прогу Mobile Partner _от рута_, затем от рута же удалил. И после перезагрузки в /dev/ появились четыре устройства ttyUSB[1-3]. Затем установил usb_modeswitch и применил вашу инструкцию. Всё замечательно, НО, если переткнуть модем, то он снова определяется как CD-ROM и все устройства в /dev/ пропадают. Приходится переустанавливать его заново. Можно, конечно, пользоваться им не вытыкая его из usb-порта, однако это не всегда возможно, так как портов всего два. Да и по городу часто перемещаюсь в силу специфики работы. Подскажите, пожалуйста, как сделать так, чтобы этот модем после перетыкания не слетал.
Я всё могу, но не всего мне хочется.

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #46 : 10.12.2009 12:03:14 »
Вот опять - отсоединил, а потом подключил обратно (надо было). и всё заново надо настраивать. Как его заставить "не слетать"?
Я всё могу, но не всего мне хочется.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Huawei E1550
« Ответ #47 : 10.12.2009 21:29:22 »
Написать правила для hal.

Оффлайн Arc

  • Участник
  • *
  • Сообщений: 608
Re: Huawei E1550
« Ответ #48 : 11.12.2009 19:04:08 »
Вот опять - отсоединил, а потом подключил обратно (надо было). и всё заново надо настраивать. Как его заставить "не слетать"?

По ссылке ходили?
-------
powered by www.uneex.ru and Поиск!

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #49 : 12.12.2009 14:48:45 »
Написать правила для hal.

Это как сделать?
Я всё могу, но не всего мне хочется.

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #50 : 12.12.2009 14:50:10 »
Вот опять - отсоединил, а потом подключил обратно (надо было). и всё заново надо настраивать. Как его заставить "не слетать"?

По ссылке ходили?


Да, конечно. И сделал всё, как там написано.
Я всё могу, но не всего мне хочется.

Оффлайн Arc

  • Участник
  • *
  • Сообщений: 608
Re: Huawei E1550
« Ответ #51 : 12.12.2009 17:10:46 »
Цитировать
1. Запускаем терминал
2. Появляется окно "Описание подключения". В поле "Название" пишем что-нибудь в качестве названия соединения и нажимаем ОК. Если окошко не появилось автоматически, выбираем из меню Файл - Новое подключение.
3. В окне "Подключение" выбираем Подключаться через: Huawei .... и жмем ОК
4. В следующем окне "Подключение" нажимаем кнопку Изменить... и попадаем в окно "Свойства ваше_название_подключения"
5. На вкладке "Параметры" нажимаем Параметры ASCII -> Отображать введенные символы на экране, жмем ОК два раза.
6. Жмем Отмена ( номер не набираем smile )
7. Если сейчас ввести AT и нажать ENTER, от модема должно прийти в ответ "ОК"
8. Вводим команду AT^U2DIAG=0
и не помогло?
-------
powered by www.uneex.ru and Поиск!

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #52 : 12.12.2009 17:34:56 »
Цитировать
1. Запускаем терминал
2. Появляется окно "Описание подключения". В поле "Название" пишем что-нибудь в качестве названия соединения и нажимаем ОК. Если окошко не появилось автоматически, выбираем из меню Файл - Новое подключение.
3. В окне "Подключение" выбираем Подключаться через: Huawei .... и жмем ОК
4. В следующем окне "Подключение" нажимаем кнопку Изменить... и попадаем в окно "Свойства ваше_название_подключения"
5. На вкладке "Параметры" нажимаем Параметры ASCII -> Отображать введенные символы на экране, жмем ОК два раза.
6. Жмем Отмена ( номер не набираем smile )
7. Если сейчас ввести AT и нажать ENTER, от модема должно прийти в ответ "ОК"
8. Вводим команду AT^U2DIAG=0
и не помогло?


А у меня по близости ни одной Винды нет. Это в Линуксе как сделать?
Я всё могу, но не всего мне хочется.

Spinoza

  • Гость
Re: Huawei E1550
« Ответ #53 : 13.12.2009 09:53:08 »
На Simply завёлся с полпинка такой модем от МТС. Вся загвоздка в том, что в этой девайсине используется zerocd. Чтобы отучить модем представляться виртуальным CD-ромом необходимо прописать правила для udev. На что Вам уже указывали. Конкретно в моём случае всё решилось установкой из бранча пакета udev-extras и следующей командой от рута:echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd"' | sudo tee  /etc/udev/rules.d/45-huawei1550.rulesПосле чего в Network Manager можно настроить само соединение. Для проверки баланса можно использовать скрипт:<?php

function decodePDU($in) {
  
$b 0$d 0;
  
$out "";
  foreach (
str_split($in2) as $ss) {
    
$byte hexdec($ss);
    
$c = (($byte & ((<< 7-$d)-1)) << $d) | $b;
    
$b $byte >> (7-$d);
    
$out .= chr($c);
    
$d++;
    if (
$d == 7) {
      
$out .= chr($b);
      
$d 0$b 0;
    }
  }
  return 
$out;
}

function 
encodePDU($in) {
  
$out "";
  for (
$i 0$i strlen($in); $i++) {
    
$t $i%8+1;
    if (
$t == 8
      continue;
    
$c ord($in[$i])>>($i%8);
    
$oc $c;
    
$b ord($in[$i+1]) & ((<< $t)-1);
    
$c = ($b << (8-$t)) | $c;
    
$out .= strtoupper(str_pad(dechex($c), 2'0'STR_PAD_LEFT));
  }
  return 
$out;
}

$f fopen ("/dev/ttyUSB2""rw+");
fputs($f"AT+CUSD=1,".encodePDU("#100#").",15\r\n");

while (
$s fgets($f)) {
  if (
substr($s05) == "+CUSD") {
    
$s decodePDU(substr(trim($s), 10, -3));
    echo 
$s."\n";
    if (
strpos($s"1 - Dalee") !== false) {
      
fputs($f"AT+CUSD=1,".encodePDU("1").",15\r\n");
    }
    else
      break;
  }
 }

fclose($f);

?>
Обзовите его к примеру balans.php и запускайте из под консоли:php -f balans.php

Оффлайн Arc

  • Участник
  • *
  • Сообщений: 608
Re: Huawei E1550
« Ответ #54 : 13.12.2009 14:10:40 »
Цитировать
1. Запускаем терминал
2. Появляется окно "Описание подключения". В поле "Название" пишем что-нибудь в качестве названия соединения и нажимаем ОК. Если окошко не появилось автоматически, выбираем из меню Файл - Новое подключение.
3. В окне "Подключение" выбираем Подключаться через: Huawei .... и жмем ОК
4. В следующем окне "Подключение" нажимаем кнопку Изменить... и попадаем в окно "Свойства ваше_название_подключения"
5. На вкладке "Параметры" нажимаем Параметры ASCII -> Отображать введенные символы на экране, жмем ОК два раза.
6. Жмем Отмена ( номер не набираем smile )
7. Если сейчас ввести AT и нажать ENTER, от модема должно прийти в ответ "ОК"
8. Вводим команду AT^U2DIAG=0
и не помогло?


А у меня по близости ни одной Винды нет. Это в Линуксе как сделать?

либо подключить через udev, как Вам совктуют
либо установить софт с "диска"

ну а когда модем этим способом подцепится, скормить ему эту команду
-------
powered by www.uneex.ru and Поиск!

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #55 : 13.12.2009 15:35:12 »
Цитировать
1. Запускаем терминал
2. Появляется окно "Описание подключения". В поле "Название" пишем что-нибудь в качестве названия соединения и нажимаем ОК. Если окошко не появилось автоматически, выбираем из меню Файл - Новое подключение.
3. В окне "Подключение" выбираем Подключаться через: Huawei .... и жмем ОК
4. В следующем окне "Подключение" нажимаем кнопку Изменить... и попадаем в окно "Свойства ваше_название_подключения"
5. На вкладке "Параметры" нажимаем Параметры ASCII -> Отображать введенные символы на экране, жмем ОК два раза.
6. Жмем Отмена ( номер не набираем smile )
7. Если сейчас ввести AT и нажать ENTER, от модема должно прийти в ответ "ОК"
8. Вводим команду AT^U2DIAG=0
и не помогло?


А у меня по близости ни одной Винды нет. Это в Линуксе как сделать?

либо подключить через udev, как Вам совктуют
либо установить софт с "диска"

ну а когда модем этим способом подцепится, скормить ему эту команду

А как ему эту команду скормить? Миникомом? Или ещё как-то?
И ещё - вчера ночью  модем вообще перестал определяться как CD-ROM, а стал сразу определяться как модем. Я порадовался вначале этому, но оказалось, что Kppp его не видит. То есть в папке /dev/ содаётся три устройства - ttyUSB[0-2], но ни одно из них не определяется Kppp. И что самое странное, этот модем теперь невозможно установить в Винде, так-как там он тоже не определяется вообще. Благо, что я скопировал заранее на CD весь софт, который был на этом CD-ROM'е модема. Теперь работает только с родной прогой. Это как понимать? Слетел встроенный сидюк? Иесли модем переткнуть, то этот родной софт нужно переустанавливать. Вот такие дела.
Я всё могу, но не всего мне хочется.

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #56 : 13.12.2009 15:39:40 »
На Simply завёлся с полпинка такой модем от МТС. Вся загвоздка в том, что в этой девайсине используется zerocd. Чтобы отучить модем представляться виртуальным CD-ромом необходимо прописать правила для udev. На что Вам уже указывали. Конкретно в моём случае всё решилось установкой из бранча пакета udev-extras и следующей командой от рута:echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd"' | sudo tee  /etc/udev/rules.d/45-huawei1550.rulesПосле чего в Network Manager можно настроить само соединение. Для проверки баланса можно использовать скрипт:<?php

function decodePDU($in) {
  
$b 0$d 0;
  
$out "";
  foreach (
str_split($in2) as $ss) {
    
$byte hexdec($ss);
    
$c = (($byte & ((<< 7-$d)-1)) << $d) | $b;
    
$b $byte >> (7-$d);
    
$out .= chr($c);
    
$d++;
    if (
$d == 7) {
      
$out .= chr($b);
      
$d 0$b 0;
    }
  }
  return 
$out;
}

function 
encodePDU($in) {
  
$out "";
  for (
$i 0$i strlen($in); $i++) {
    
$t $i%8+1;
    if (
$t == 8
      continue;
    
$c ord($in[$i])>>($i%8);
    
$oc $c;
    
$b ord($in[$i+1]) & ((<< $t)-1);
    
$c = ($b << (8-$t)) | $c;
    
$out .= strtoupper(str_pad(dechex($c), 2'0'STR_PAD_LEFT));
  }
  return 
$out;
}

$f fopen ("/dev/ttyUSB2""rw+");
fputs($f"AT+CUSD=1,".encodePDU("#100#").",15\r\n");

while (
$s fgets($f)) {
  if (
substr($s05) == "+CUSD") {
    
$s decodePDU(substr(trim($s), 10, -3));
    echo 
$s."\n";
    if (
strpos($s"1 - Dalee") !== false) {
      
fputs($f"AT+CUSD=1,".encodePDU("1").",15\r\n");
    }
    else
      break;
  }
 }

fclose($f);

?>
Обзовите его к примеру balans.php и запускайте из под консоли:php -f balans.php

Да уж... Я делал это. Но он всё равно упорно представлялся сидиромом. А как слетел сидюк, так он вообще теперь во такой:

Bus 002 Device 002: ID 12d1:1001
Но Kppp его теперь не видит в упор.
Я всё могу, но не всего мне хочется.

Оффлайн Arc

  • Участник
  • *
  • Сообщений: 608
Re: Huawei E1550
« Ответ #57 : 13.12.2009 18:40:41 »
все.
теперь он определяется как e620
просто вставляем модем
и добавляем в nm  новое широкоплосное соединение
-------
powered by www.uneex.ru and Поиск!

Оффлайн temazorin

  • Участник
  • *
  • Сообщений: 180
  • Это я.
    • www.denzor.ru
Re: Huawei E1550
« Ответ #58 : 13.12.2009 19:36:31 »
В общем, я разобрался с этим модемом. Установил Minicom и дал ему сначала команду AT^U2DIAG=255 (включение режима модема + CD-ROM + Card Reader), затем дал команду AT^U2DIAG=0 (режим модема). После чего он стал определяться исключительно как модем. Затем скачал с сайта МегаФона новую версию той родной проги, что идёт с модемом и установил (кстати, она теперь может проверять баланс и мало отличается от версии для Винды). Теперь даже после перетыкания модем корректно определяется и не слетает. Правда, так-как у меня ALD 4.0 я пользуюсь родной прогой. Пока 6 часов беспрерывного аптайма. Что качается Network Manager - его у меня нет, а что касается Kppp, то он как не видел модем, так его и не видит. В папке /dev/ появились да так и остались висеть три устройства: ttyUSB_utps_diag  ttyUSB_utps_modem (это сам модем)  ttyUSB_utps_pcui. Осталось скачать NM и настроить через него. Не доверяю я Мегафоновской проге.  :) Всем спасибо, все молодцы!  :)
« Последнее редактирование: 13.12.2009 19:38:55 от timurkin »
Я всё могу, но не всего мне хочется.

Оффлайн Arc

  • Участник
  • *
  • Сообщений: 608
Re: Huawei E1550
« Ответ #59 : 13.12.2009 22:04:35 »
через kppp оно точно работает в 4ке
Там главное устройство правильно выбрать
-------
powered by www.uneex.ru and Поиск!