цитата obsidian-step:
И правильно ли я вообще делаю замену, ввожу в терминале AT+ZCDRUN=E получаю доступ к флеш памяти, открываю 7zip'ом *.tar.gz меняю данные упаковываю, перезагружаю модем + сброс настроек
Неверно. Это файл обновления user app. Сброс настроек не инициирует обновление user app.
Нужно сначала открыть телнет http запросом (каким, должно быть понятно после изучения исходников админки). Я открываю командой iptables -F INPUT, так как попытки открыть через iptables -A INPUT -p tcp --dport 23 -j ACCEPT не увенчались успехом.
Пытаюсь собрать hello world для модема, пока не получается:
# ./hello
Floating point exception (core dumped)
Статически собранный упорно виснет.
Вероятно тулчейн нужно собирать с нуля, а не пытаться использовать готовый...
Закинул полный busybox с офсайта и получил рабочий ftp, правда без русских букв. Теперь нужно отключить usb mass storage и добавить запуск в скрипты с проверкой наличия карточки.
Проверку баланса можно делать через устройство /dev/smd0.
Буду разбираться, как собирать свои бинарники под эту платформу.
Возможно удалось несколько увеличить время автономной работы...
Было отключено изменение тактовой частоты процессора...
Добавил в /mnt/flash/zte_dir_app_linux/scripts/net.sh строку
echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Место наверное не очень подходящее и не понятно, будет ли восстанавливаться после пробуждения, но работает. Тактовая частота в простое понизилась до 122,88 MHz. Под нагрузкой (например передача по ftp) возрастает до номинальных 528 MHz.
Сделал запрос баланса через web-интерфейс!
В корне web-сервера сделать каталог cgi-big , в него закинуть файл из вложения. Обращаться соответственно к http://192.168.0.1/cgi-bin/test.cgi
Изучение файлов прошивки показало, что 23 порт закрывает web-сервер, и открыть его можно вроде как какой-то AT-командой (команда открытия содержится в файле at_server). Пока ничего на дизассемблировал, так что как конкретно не скажу.
Для корректной работы с карточкой по ftp и запроса баланса нужно проверять, подключен ли модем по usb (чтобы отцепить порт и карточку от usb и предупредить о возможных проблемах из-за этого).
Перерыл все содержимое /sys, /proc, /debug, но так и не нашел, где можно узнать статус подключения по usb.
У кого-нибудь есть идеи, как определить наличие usb подключения?