motofan logo
3 страниц V  1 2 3 >        
> 

MSwitch, Программа для переключения режима USB подключения

blackbox
сообщение 12.5.2007, 13:17 Закрепленное сообщение!


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Дальнейшее развитие маленькой программки для переключения режимов. Появился графический интерфейс, иконка в трее и командная строка.

Изображение

Надеюсь, интерфейс и так интуитивно понятен smile.gif
Установка не требуется, можно создать ярлык на прогу на рабочем столе, а маньяки могут добавить ее в автозагрузку smile.gif
Как и прежде, в реестр ничего не пишется. Можно запускать при работе с другими P2K программами (если, конечно, они не будут пытаться переключить телефон обратно на себя).

Что касается командной строки, поддерживается всего один параметр - число, обозначающее необходимый режим (0 - модем, 8 - P2K, 24 - карта памяти). Командная строка работает даже когда прога уже висит в трее.

Сообщение отредактировал Als - 15.5.2007, 19:15
Прикрепленный файл MSwitch_0.2.zip   ( 19.41 килобайт ) Кол-во скачиваний: 6720
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 5.2.2006, 3:25


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Значит так.
Motorola Phone Tools обладает очень полезной функцией - если телефон подключен в режиме флеш-карты, то он автоматически переключается в AT режим, и дальше все работает как обычно. После выхода из MPT происходит обратное переключение.

Это очень удобно, так как отпадает необходимость лазить в меню и переключать режим USB. Кроме того, не нужно передергивать кабель, если телефон уже подключен.

Хотя с переключением из AT в режим диска все понятно (это делается командой AT+MODE=24), обратное действие покрыто тайной. Давайте разберемся, как это делается, чтобы добавить эту функцию в программы, основанные на P2kApi.

Итак, что известно на текущий момент:
  • Имеются по крайней мере два продукта Моторолы, обладающие этой возможностью - это уже упоминавшаяся MPT и хитрая утилитка ROKRUpdate.exe.
  • С помощью HDD Software USB Monitor легко отмониторить обмен телефона и программы, но это нам не сильно поможет, так как не известно, каким именно образом эти пакеты отправляются и куда.
  • Значительно интереснее функция UDiskToModem, экспортируемая библиотекой ModemWiz.dll из состава MPT.
    Также заслуживает внимания библиотека M-Link.dll, используемая ROKRUpdate.
Если выполнить команду rundll32 ModemWiz.dll,?UDiskToModem@@YGHPAUHWND__@@K@Z
когда телефон подключен в режиме флешки, появится следующее окошко, и телефон перейдет в режим модема.
Прикрепленное изображение


Команда rundll32 ModemWiz.dll,?ModemToUDisk@@YGHPAUHWND__@@K@Z
восстанавливает режим диска обратно, но это мы и так знаем.
Прикрепленное изображение

В общем предлагаю нашим умельцам и всем остальным заинтересованным разобраться в работе функции UDiskToModem, чтобы потом добавить аналогичную функциональность в P2kApi.

Функция находится по адресу 1001F310, и похоже использует обычные вызовы Win32 API (по крайней мере, нет признаков работы с USB портом на низком уровне).
Очень приветствуются знатоки асма.

Если кому-то лень ставить MPT, вот вырезка с dll'ками.

Сообщение отредактировал blackbox - 25.5.2007, 18:01
Прикрепленный файл dll.rar   ( 287.4 килобайт ) Кол-во скачиваний: 1010
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 5.2.2006, 15:29


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



blackbox, респект за найденную dll и функцию. расковыряем )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 25.2.2006, 13:50


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Решение найдено. Программа-пример и исходник прилагаются.
Vilko, можешь добавить этот код в P2K_Init().
Прикрепленный файл trans.rar   ( 1.72 килобайт ) Кол-во скачиваний: 853
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
n0wheremany
сообщение 25.2.2006, 15:03


Прогр@ммер
*****

Группа: Почётные мотофаны
Сообщений: 564
Регистрация: 10.9.2005
Пользователь №: 51 111
Модель телефона: E398

Рейтинг: 341



Огромное пасибо!

Делал недавно компонент для работы с флехой и хотелось бы чтоб он переключался в АТ! Пасибо за решение!

Добавляю его в MotoVCL
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 26.2.2006, 11:48


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Немного причесал и оптимизировал код.
Прикрепленный файл trans.rar   ( 1.58 килобайт ) Кол-во скачиваний: 772
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
deadmoto
сообщение 28.2.2006, 17:39


Главный Новостник
*****

Группа: Пользователи
Сообщений: 305
Регистрация: 21.8.2005
Из: Омск
Пользователь №: 49 284
Модель телефона: Motorola
Прошивка: Motorola Original

Рейтинг: 112



Вопрос. Как осуществлять мониторинг УСБ порта?
usbmon(sysinternals) у меня видит только физические com и lpt.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 28.2.2006, 21:36


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



deadmoto,
Программы UsbMon у Sysinternals нет. Возможно ты перепутал с PortMon - там действительно поддерживаются только COM и LPT.
Если ты внимательно прочитаешь первый пост, речь шла о HDD Software USB Monitor.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 1.3.2006, 1:46


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



blackbox, добавил в P2KAPI :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 13.3.2006, 2:15


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Наконец расшифровал назначение "магического" буфера, передаваемого телефону. Оказывается, это структура SCSI_PASS_THROUGH_DIRECT, используемая при взаимодействии с устройством по способу SPTI (SCSI Pass Through IOCTLs). Как ни странно, в основном SPTI применяется в программах, работающих с CD и DVD приводами (резалки типа Nero, аудио грабберы и т.п.).
К сожалению, у SPTI есть существенный недостаток - эти вызовы можно осуществлять только в том случае, если программа запущена с правами администратора.

Прикрепленный файл trans.zip   ( 1.81 килобайт ) Кол-во скачиваний: 738


P.S. Готовится программа для переключения между различными режимами (AT, P2K, Disk) из трея.

P.P.S. Для интересующихся:

Сообщение отредактировал blackbox - 11.7.2006, 22:43
Прикрепленный файл trans.zip   ( 1.81 килобайт ) Кол-во скачиваний: 738
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 16.4.2006, 21:57


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431

Рейтинг: 627.5



Цитата(blackbox @ Понедельник, 13 Марта 2006, 5:15)
Готовится программа для переключения между различными режимами (AT, P2K, Disk) из трея.
В общем вот прога, пока немного сырая и без трея, но пользоваться вполне можно.
Прикрепленный файл mswitch.zip   ( 1.32 килобайт ) Кол-во скачиваний: 1593


Сообщение отредактировал blackbox - 9.3.2007, 20:03
Прикрепленный файл mswitch.zip   ( 1.32 килобайт ) Кол-во скачиваний: 1593
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MSwitch, Программа для переключения режима USB подключения · Другие программы для телефонов Motorola · Forum
 

3 страниц V  1 2 3 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27.4.2024, 8:01

Форум живёт: