Xpndable / DotUI

MiniUI port for Miyoo Mini+
89 stars 12 forks source link

[Draft] WiFi functionality #36

Closed anzz1 closed 1 year ago

anzz1 commented 1 year ago

WiFi works.

If enabled, on boot the 8188fu wifi kernel module will be loaded, wifi chip powered on and network connected automatically. FTP and Telnet access will be available if configured as such. There is currently a very rudimentary "Wifi Setup.pak" in Extras, which can only turn the WiFi on and off on next boot. This is to be removed when there is an actual configuration app.

For now you need to configure the wifi network ssid and password in stock or Onion UI. It will write the required file /appconfigs/wpa_supplicant.conf.

On boot, the services to be started are controlled by existence of these files: WiFi : /mnt/SDCARD/.userdata/.wifi/wifi_on.txt FTP : /mnt/SDCARD/.userdata/.wifi/ftp_on.txt Telnet : /mnt/SDCARD/.userdata/.wifi/telnet_on.txt

Currently wifi and the services are brought up only on boot, the ability to start/stop them will be part of the config app.

TODO:


A quick sketch in paint as idea for the minimal wifi setting app:

image

anzz1 commented 1 year ago

The Wifi Icon image

and a basic WiFi setting config image

have been added to master on my repo. There are bunch of other changes too and I don't know what features you might or might not want to pull to the base DotUI so I'll close this PR, feel free to cherry pick the changes you like from the DotUI-X master, I'll be periodically adding stuff there.

SSH isn't implemented yet since I'm trying to figure out how to use the HW crypto capabilities on the Miyoo. The SSD202D spec sheet mentions hardware AES/DES/RSA/SHA support, so the cryptography required for SSH could probably be implemented in HW and be computationally "free" requiring very little CPU use. As crypto calculations are very expensive and adding SSH in with SW crypto hits the CPU hard whenever there is a connection going on and thats not desirable. Unfortunately I've yet to find any shred of documentation on the HW crypto implementation nor how to use it.