Linux.org.ua
Проблеми і їх вирішення з лінуксом => Інтернет і лінукс => Гілку створено: Sandr від 2010-07-26 23:09:05
-
Люди, підкажіть якісь програми для прошивки 3G модемів, котрі б працювали в Лінуксі, чи в емуляторі Wine. Можливо існують якісь універсальні флешери...
Я відкопав ось цю програму (http://remservis.com.ua/dfs_flasher.rar), але вона в Лінуксі не запускається.
-
Для прошивки модемів використовуються ще програми: Axesstel PST та QPST.
Обидві вони встановлюються і запускаються в Wine, але проблема в тому, що програми не бачать COM-портів.
Підкажіть, яким чином налаштувати в Wine COM-порти? Система openSUSE 11.3, версія Wine 1.2-rc6.
Питання досить принципове, бо потрібно самому робити прошивки модемів, але при цьому дуже не хочеться заради цього ставити собі Windows.
-
А через VirtualBox, вона ж наче підтримує COM.
-
А через VirtualBox, вона ж наче підтримує COM.
Віртуальна машина ж не запустить самостійно програму прошивки. Все одно доведеться ставити туди Віндовс.
Крім того віртуальна машина вимагає дуже значних ресурсів системи і таке можна реалізувати лише на досить потужних комп'ютерах. WMware ще не так пожирає ресурси, а от VirtualBox взагалі страшенно гальмує навіть потужну машину.
-
Якщо запустити програму DFS з консолі, то видається помилка:
install the Windows version of Mono to run .NET executables
А в інструкції до програми відкопав, що:
The Microsoft .NET Framework 2.0 must be installed on your PC before DFS starting
-
Якщо запустити програму DFS з консолі, то видається помилка:
install the Windows version of Mono to run .NET executables
А в інструкції до програми відкопав, що:
The Microsoft .NET Framework 2.0 must be installed on your PC before DFS starting
Малоймовірно, що працюватиме, але спробуйте запустити з mono.
-
Після двох днів поневірянь в нетрях Вайну вирішив підбити підсумки.
По-перше COM-порти у Вайні все-таки працюють! Вмикаються вони за допомогою створення символічних посилань:
$ ln -s /dev/ttyS0 ~/.wine/dosdevices/com1 (реальний COM-порт для DialUp-модема)
$ ln -s /dev/ttyS1 ~/.wine/dosdevices/com2 (реальний COM-порт для DialUp-модема)
$ ln -s /dev/ttyACM0 ~/.wine/dosdevices/com3 (віртуальний COM-порт для робочого USB-модема)
$ ln -s /dev/ttyACM1 ~/.wine/dosdevices/com4 (віртуальний COM-порт для нового USB-модема)
Працездатність портів у Вайні перевіряємо програмою PuTTY (http://biblprog.org.ua/ua/putty/). Ця програма нормально встановлюється у Вайні і працює теж непогано.
В ній обираємо Connection type: -> Serial, задаємо Serial line -> COM4 та Speed -> 115200. Можна також зберегти дані налаштування: Saved Sessions -> Modem New.
Далі натискаємо внизу кнопку Open і у вікні терміналу надсилаємо модему AT-команди. Спочатку йде команда ініціалізації ATZ, а потім приміром можна дати команду перевірки сигналу мережі AT+CSQ?
Якщо порт працює нормально, то для нового непрошитого модема отримаємо таке:
ATZ
OK
AT+CSQ?
99,99
-
Якби ж то все так гладко було і для інших програм, але не тут то було...
Програми Axesstel PST та QPST на даному етапі COM-портів взагалі не бачать.
А не бачать вони цих портів тому, що "дивляться" не у теку ~/.wine/dosdevices , а в реєстр Вайна.
От в саме цьому моменті, я думаю, і полягає проблема.
Теоретичні шляхи розв’язку:
1) заставити програму "дивитися" в теку ~/.wine/dosdevices ;
2) відобразити коректно в реєстрі Вайна підключені COM-порти.
-
Теоретичні шляхи розв’язку:
1) заставити програму "дивитися" в теку ~/.wine/dosdevices ;
2) відобразити коректно в реєстрі Вайна підключені COM-порти.
Вітаю. Подивіться тут: http://www.theeldergeek.com/forum/index.php?showtopic=17892
-
На офіційному сайті http://wiki.winehq.org/USB відкопав інструкцію для підтримки USB-пристроїв у Wine.
Можливо цей крок дозволить вирішити проблему...
-
Малоймовірно, що працюватиме, але спробуйте запустити з mono.
Встановив mono, але це після цього DFS однак не запускається...
-
Вітаю. Подивіться тут: http://www.theeldergeek.com/forum/index.php?showtopic=17892
Подивився, але там описана якась подібна проблема для системи Windows XP.
-
Написав листа Олександру Морозову з компанії Етерсофт такого змісту (подаю мовою оригіналу):
Здравствуйте уважаемый Александр.
Увидел на официальном сайте Wine, что Вам удалось заставить работать
Wine напрямую с USB-устройством.
Эту информацию и Ваш e-mail я взял со страницы: http://wiki.winehq.org/USB
В данный момент я пытаюсь заставить работать программы для прошивки
модемов Axesstel PST и Qualcomm PST в Wine.
Сами программы устанавливаются и запускаются вроде нормально. Но вот
модема не видит ни одна, ни другая.
К USB подключен модем Pantech UM150, чипсет MSM6800 от Qualcomm.
Можно ли таким же образом заставить работать эти программы с модемом?
Заранее благодарен за помощь.
С уважением: Александр Осипенко. Украина, Миргород.
Цікаво, чи буде якась відповідь... :)
-
Вирішив викласти на веб-сервері дистрибутиви програм Axesstel PST та Qualcomm PST:
http://www.os-nova.org.ua/files/software/winesoft/axesstelpst/axesstelpst-evdo-1.53.tar.gz
http://www.os-nova.org.ua/files/software/winesoft/qpst/qpst-2.7.264.tar.gz
Протестуйте ще хтось ці програми в себе. Можливо в когось запрацює...
Про результати тестування прошу писати в дану тему.
-
Отримав від Олександра Морозова наступну відповідь:
Добрый день.
Думаю, для начала вам надо разобраться, каким образом программы ищут модем, не
пытаются ли они загрузить какой-нибудь драйвер. Для этого надо запустить wine
вот-так:
WINEDEBUG=+winedevice,+file,+setupapi wine программа &>лог_файл
С уважением,
Александр Морозов
-
Запустив я програми Axesstel PST і Qualcomm PST в режимі зневадження з параметрами, що порадив мені Олександр Морозов.
> WINEDEBUG=+winedevice,+file,+setupapi wine PST.exe &>AxesstelPST.log
> WINEDEBUG=+winedevice,+file,+setupapi wine QPSTConfig.exe &>QPSTConfig.log
Отримані лог-файли AxesstelPST.log і QPSTConfig.log запакував і прикріпив у додатку.
Допоможіть мені хто-небудь проаналізувати отримані лог-файли та визначити, в якому саме місці йде звернення програм до обладнання.
-
Проаналізував файли AxesstelPST.log і QPSTConfig.log на наявність помилок.
В лог-файлі AxesstelPST.log виявилася одна помилка:
939 trace:file:wine_nt_to_unix_file_name L"\\windows\\system32\\DRIVERS\\SENTINEL.SYS" not found in /home/sandr/.wine/dosdevices/c:/windows/system32/drivers
940 err:winedevice:ServiceMain driver L"Sentinel" failed to load
941 trace:file:WriteFile 0x24 0x110f00 72 0x53e52c (nil)
В лог-файлі QPSTConfig.log виявив чотири помилки:
872 trace:file:wine_nt_to_unix_file_name L"\\windows\\system32\\DRIVERS\\SENTINEL.SYS" not found in /home/sandr/.wine/dosdevices/c:/windows/system32/drivers
873 err:winedevice:ServiceMain driver L"Sentinel" failed to load
874 trace:file:WriteFile 0x24 0x110f00 72 0x53e52c (nil)
5592 trace:file:ReadFile 0xe8 0x188da8 16 0x61e80c (nil)
5593 err:rpc:I_RpcReceive we got fault packet with status 0x3e6
5594 trace:file:WriteFile 0x84 0x188df0 72 0x51e83c (nil)
5607 trace:file:ReadFile 0xe8 0x188530 16 0x71e80c (nil)
5608 err:rpc:I_RpcReceive we got fault packet with status 0x3e6
5609 trace:file:WriteFile 0xa8 0x1337c8 88 0x61e83c (nil)
5728 trace:file:ReadFile 0x84 0x187ca0 16 0x51e80c (nil)
5729 err:rpc:I_RpcReceive we got fault packet with status 0x3e6
5730 trace:file:WriteFile 0xbc 0x170c30 76 0x71e83c (nil)
-
Як бачимо, обидві програми при зневадженні дають однакову помилку:
err:winedevice:ServiceMain driver L"Sentinel" failed to load
Цікаво тільки, що воно за помилка така? ::)
-
Пошук за змістом даної помилки привів мене на форум Wine (http://forum.winehq.org/).
На тому форумі виконав пошук, вказавши ключове слово "Sentinal".
Переглянув теми, що стосуються цієї проблеми і от що тепер маю:
sentinel.sys -- це такий пропрієтарний драйвер для підтримки USB-пристроїв;
http://wiki.winehq.org/USB -- дана інструкція повинна начебто цю проблему вирішувати.
Знайшов навіть тему, де розписано застосування наведеної інструкції:
http://forum.winehq.org/viewtopic.php?t=6999
-
Наскільки я зрозумів, то суть даної інструкції полягає в тому, що треба:
1) установити всі необхідні для компіляції Wine пакунки;
2) отримати джерельний код середовища Wine;
3) отримати латки для ввімкнення підтримки USB;
4) застосувати ці латки до джерельного коду;
5) виконати процедуру конфігурації коду (./configure);
6) провести перевірку залежностей (make depend);
7) виконати компіляцію програми (make);
8) зробити установку середовища Wine в систему (make install).
Для повного щастя ще начебто треба "почаклувати" в реєстрі. Але з тим я ще не розібрався. :P
-
Для установки необхідних для компіляції Wine пакунків використаємо наступні рекомендації:
http://wiki.winehq.org/Recommended_Packages
Для операційної системи openSUSE є навіть спеціальний скрипт: install-wine-deps.sh (http://winezeug.googlecode.com/svn/trunk/install-wine-deps.sh)
Звантажуємо вище наведений скрипт, зберігаємо та ставимо права на запуск.
Запускаємо скрипт від імені адміністратора:
> sudo ./install-wine-deps.sh
і от тобі халепа:
distro SUSE LINUX 11.3 not supported
-
Відкриваю скрипт install-wine-deps.sh в текстовому редакторі.
Знаходжу перелік операційних систем:
239 Ubuntu*7.10) apt-get install $ubuntu_common_pkgs $ubuntu_gutsy_pkgs;;
240 Ubuntu*8.04) apt-get install $ubuntu_common_pkgs $ubuntu_hardy_pkgs;;
241 Ubuntu*8.10) apt-get install $ubuntu_common_pkgs $ubuntu_ibex_pkgs;;
242 Linux*Mint*7|Ubuntu*9.04) apt-get install $ubuntu_common_pkgs $ubuntu_jaunty_pkgs;;
243 Linux*Mint*8|Ubuntu*9.10) apt-get install $ubuntu_common_pkgs $ubuntu_karmic_pkgs;;
244 Ubuntu*10.04) apt-get install $ubuntu_common_pkgs $ubuntu_karmic_pkgs;;
245 Ubuntu*10.10) apt-get install $ubuntu_common_pkgs $ubuntu_maverick_pkgs;;
246 Fedora*release*) yum install $fedora_pkgs ;;
247 SUSE*LINUX*11.1) zypper install $suse_pkgs ;;
248 Debian*) apt-get install $debian_pkgs;;
Оскільки версія openSUSE 11.3 в принципі сумісна з версією 11.1, то внесемо такі зміни:
247 SUSE*LINUX*11.*) zypper install $suse_pkgs ;;
Таким чином ми зробимо скрипт працездатним для всіх систем openSUSE 11.X.
Модифікований скрипт install-wine-deps.sh прикріпив у додатку.
-
Sandr, чи вдалося налагодити роботу QPST і Axesstel? Я скористався твоєю порадою і за допомогою скрипта встановив необхідне програмне забезпечення. Що робити далі не знаю, тому що вказані вище програми все одно не видять ком-портів, на яких висить модем.
-
На жаль, ця проблема покищо так і не вирішена.
Але принаймні це стало хоч ще комусь потрібним.
Що теж непогано. :)
-
Специализированых программ для работы из CDMA/EVDO в Linux очень мало. Для настройки приема очень часто используют программу Axesstel PST, но она для операционной системы Windows. Тем не менее ее можно использовать и в Linux - при помощи WINE. Она без проблем устаналивается, но не может найти COM-порты (WINE 1.0.1, Debian 6.05 Squeeze). Решаем проблему.
У меня модем создает порты /dev/ttyUSB0-/dev/ttyUSB3, поэтому делаем ссылки на порты модема в "устройствах" ( ~/.wine/dosdevices) WINE:
ln -s /dev/ttyUSB0 com1
ln -s /dev/ttyUSB1 com2
ln -s /dev/ttyUSB2 com3
ln -s /dev/ttyUSB3 com4
Но Axesstel PST ищет порты в реестре Windows (WINE), а там они не прописаны. При помощи любимого редактора окрываем файл ~/.wine/system.reg и добавляем следующие строки:
[Hardware\\Devicemap\\Serialcomm] 1231984861 @=""
"Serial0"="COM1"
"Serial1"="COM2"
"Serial2"="COM3"
"Serial3"="COM4"
"Serial4"="COM5"
"Serial5"="COM6"
"Serial6"="COM7"
"Serial7"="COM8"
"Serial8"="COM9"
Сохраняем файл, запускаем Axesstel PST, "Tool"->"Setup"->"Searching Port" . Теперь порты определяются. Методом научного "тыка" определяем нужный (у меня COM2). Все работает.