Android 4.2.2+ Hotspot

Я подключился к двоичному файлу / system / bin / netd, чтобы записывать все команды, отправленные платформой Android, когда он помещает точку доступа через кнопки в меню настроек системы. (Мне нужно было воссоздать точку доступа из оболочки и ADB, не создавая меню настроек.)

Это вернуло все команды, которые используются для размещения точки доступа.

interface clearaddrs wlan0 interface ipv6 wlan0 disable resolver flushif wlan0 bandwidth setglobalalert 2097152 bandwidth setglobalalert 2097152 softap fwreload wlan0 AP softap set wlan0 asdfa wpa2-psk 12345678 softap startap interface getcfg wlan0 interface setcfg wlan0 192.168.43.1 24 running multicast broadcast up tether interface add wlan0 ipfwd enable tether start 192.168.42.2 192.168.42.254 192.168.43.2 192.168.43.254 192.168.44.2 192.168.44.254 192.168.45.2 192.168.45.254 192.168.46.2 192.168.46.254 192.168.47.2 192.168.47.254 192.168.48.2 192.168.48.254 tether dns set 8.8.8.8 8.8.4.4 

Кажется, хорошо.

Когда я выдаю эти команды через / system / bin / ndc из оболочки, ничего не возвращает ошибку и утверждает, что это удалось. Отлично. Фантастика. Замечательно.

  200 0 Interface IP addresses cleared 200 0 IPv6 state changed 200 0 Resolver command succeeded 200 0 Bandwidth command succeeeded 200 0 Bandwidth command succeeeded 200 0 Softap operation succeeded 200 0 Softap operation succeeded 600 Iface linkstate wlan0 down 600 Iface linkstate wlan0 down 200 0 Softap operation succeeded 213 0 44:33:4c:3d:98:dc 0.0.0.0 0 down broadcast multicast 200 0 Interface configuration set 200 0 Tether operation succeeded 200 0 ipfwd operation succeeded 200 0 Tether operation succeeded 200 0 Tether operation succeeded 

Супер! За исключением небольшого тривиального факта, что горячая точка не может быть видна впоследствии, и это даже не отталкивает меня от беспроводной связи, поэтому, очевидно, я что-то упускаю.

Может быть полезно отметить, что в Android 4.1.1 следующие работы (как и ожидалось), но в 4.2.2 это не так; Я пробовал бесконечные комбинации зарегистрированных команд и команд 4.1.1, которые очень мало помогли.

  softap stopap softap stop wlan0 softap fwreload ap0 AP softap start wlan0 softap set wlan0 ap0 SSID wpa2-psk 12345678 11 0 8 softap startap interface setcfg ap0 192.168.2.254 255.255.255.0 up 

Вот что происходит, когда точка доступа снимается через меню настроек системы, возможно, это будет полезно:

  interface getcfg wlan0 interface setcfg wlan0 0.0.0.0 0 running multicast broadcast up tether interface remove wlan0 tether stop ipfwd disable softap stopap softap fwreload wlan0 STA softap fwreload wlan0 STA interface getcfg wlan0 interface setcfg wlan0 0.0.0.0 0 multicast broadcast down interface ipv6privacyextensions wlan0 enable interface getcfg p2p0 interface setcfg p2p0 0.0.0.0 0 multicast broadcast up interface ipv6 wlan0 enable interface route add wlan0 default 192.168.2.254 32 0.0.0.0 interface route add wlan0 default 0.0.0.0 0 192.168.2.254 resolver flushif wlan0 interface route add wlan0 default 192.168.2.254 32 0.0.0.0 bandwidth setglobalalert 2097152 interface route add wlan0 default 0.0.0.0 0 192.168.2.254 bandwidth setglobalalert 2097152 

Это то, что регистрируется во время запуска системы, прежде чем любой пользовательский ввод возможен:

  interface list interface getcfg eth0 interface ipv6 wlan0 disable interface list bandwidth enable softap fwreload wlan0 STA firewall disable interface getcfg wlan0 interface setcfg wlan0 0.0.0.0 0 multicast broadcast down interface ipv6privacyextensions wlan0 enable bandwidth setglobalalert 2097152 firewall disable interface setthrottle rmnet0 -1 -1 interface getcfg p2p0 interface setcfg p2p0 0.0.0.0 0 multicast broadcast up interface ipv6 wlan0 enable resolver setifdns wlan0 192.168.2.254 resolver setdefaultif wlan0 interface route add wlan0 default 192.168.2.254 32 0.0.0.0 interface route add wlan0 default 0.0.0.0 0 192.168.2.254 resolver flushif wlan0 interface route add wlan0 default 192.168.2.254 32 0.0.0.0 interface route add wlan0 default 0.0.0.0 0 192.168.2.254 

Единственное, что я точно знаю, это то, что я могу запустить точку доступа, чтобы она появилась в 4.4.3, когда я выдаю команды netd до завершения загрузки.

Где я неправ?