
Brain Hacking
U-Boot 2015.07-rc3-00005-gd777345 (Apr 25 2017 - 13:58:29 +0000) Allwinner Technology CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: Card did not respond to voltage select! SUNXI SD/MMC: 1, SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: eth0: ethernet@01c50000 Unknown command 'usb' - try 'help' BOOTING NEEO Brain CP6 1076 bytes read in 60 ms (16.6 KiB/s) Loaded environment from uEnv.txt Running uenvcmd ... gpio: pin 239 (gpio 239) value is 0 gpio: pin PH2 (gpio 226) value is 1 26268 bytes read in 97 ms (263.7 KiB/s) 4810064 bytes read in 553 ms (8.3 MiB/s) ## Booting kernel from Legacy Image at 4c000000 ... Image Name: Linux-4.1.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4810000 Bytes = 4.6 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 48000000 Booting using the fdt blob at 0x48000000 Loading Kernel Image ... OK Loading Device Tree to 4eff6000, end 4efff69b ... OK Starting kernel ... Welcome to Arch Linux ARM! [ OK ] Created slice User and Session Slice. [ OK ] Reached target Remote File Systems. [ OK ] Listening on Device-mapper event daemon FIFOs. [ OK ] Listening on Journal Socket (/dev/log). [ OK ] Started Forward Password Requests to Wall Directory Watch. [ OK ] Listening on udev Control Socket. [ OK ] Listening on Process Core Dump Socket. [ OK ] Listening on Network Service Netlink Socket. [ OK ] Created slice System Slice. [ OK ] Created slice system-systemd\x2dfsck.slice. [ OK ] Reached target Slices. [ OK ] Created slice system-serial\x2dgetty.slice. [ OK ] Started Dispatch Password Requests to Console Directory Watch. [ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Listening on Journal Socket. Starting Journal Service... Starting Apply Kernel Variables... Starting File System Check on Root Device... [ OK ] Reached target Swap. Mounting Temporary Directory... [ OK ] Reached target Encrypted Volumes. [ OK ] Listening on udev Kernel Socket. [ OK ] Reached target Paths. [ OK ] Started Apply Kernel Variables. [ OK ] Mounted Temporary Directory. [ OK ] Started File System Check on Root Device. Starting Remount Root and Kernel File Systems... [ OK ] Started Journal Service. [ OK ] Started Remount Root and Kernel File Systems. Starting udev Coldplug all Devices... Starting Create Static Device Nodes in /dev... [ OK ] Started Create Static Device Nodes in /dev. Starting udev Kernel Device Manager... [ OK ] Reached target Local File Systems (Pre). [ OK ] Started udev Kernel Device Manager. [ OK ] Started udev Coldplug all Devices. [ OK ] Found device /dev/ttyS0. [ OK ] Found device /dev/mmcblk0p5. [ OK ] Found device /dev/mmcblk0p3. [ OK ] Found device /dev/mmcblk0p1. [ OK ] Found device /dev/mmcblk0p6. Starting File System Check on /dev/mmcblk0p6... [ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. Starting File System Check on /dev/mmcblk0p1... Starting File System Check on /dev/mmcblk0p3... Starting File System Check on /dev/mmcblk0p5... [ OK ] Started File System Check on /dev/mmcblk0p6. Mounting /update... [ OK ] Started File System Check on /dev/mmcblk0p1. Mounting /boot... [ OK ] Mounted /boot. [ OK ] Mounted /update. [ OK ] Started File System Check on /dev/mmcblk0p3. Mounting /steady... [ OK ] Started File System Check on /dev/mmcblk0p5. Mounting /var... [ OK ] Mounted /steady. [ OK ] Mounted /var. Starting Flush Journal to Persistent Storage... Starting Network Time Synchronization... Starting Update UTMP about System Boot/Shutdown... Starting Load/Save Random Seed... [ OK ] Reached target Local File Systems. [ OK ] Started Load/Save Random Seed. [ OK ] Started Flush Journal to Persistent Storage. [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Time Synchronized. [ OK ] Reached target System Initialization. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Started Check if wifi connection is fine. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Started NEEO Housekeeping Service Timer. [ OK ] Started Daily rotation of log files. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. [ OK ] Started D-Bus System Message Bus. Starting Network Service... Starting Login Service... [ OK ] Started Entropy Harvesting Daemon. Starting NEEO GPIO init... [ OK ] Started Daily verification of password and group files. [ OK ] Reached target Timers. [ OK ] Started Network Service. [ OK ] Reached target Network. Starting Permit User Sessions... [ OK ] Started OpenSSH Daemon. [ OK ] Reached target Network is Online. Starting A lightweight DHCP and caching DNS server... Starting Network Name Resolution... [ OK ] Started Permit User Sessions. [ OK ] Started NEEO GPIO init. [ OK ] Started Login Service. [ OK ] Started 6lowpan router. [ OK ] Started Prosyst Runtime. [ OK ] Started Serial Getty on ttyS0. [ OK ] Reached target Login Prompts. [ OK ] Started Network Name Resolution. [ OK ] Started A lightweight DHCP and caching DNS server. Arch Linux 4.1.0 (ttyS0) NEEO-xxxxxxxx login:
Now, to get the login... 😉
-
Technical information:
https://planet.neeo.com/t/63nb25
Please keep discussions elswhere and only share missing info in that topic.
-
That sounds good, I would like to thank you very much for the commitment in DustCloud and the whole clarification of the protocol. I myself used the knowledge from DustCloud to control the vacuum cleaner via IP-Symcon and the card data is transferred from the vacuum cleaner to IP-Symcon.
The biggest hurdles at NEEO are:
- There is an SDK with limited possibilities. One thing is that the SDK driver always has to run on an external computer. So it would be the question whether it is somehow possible to run an SDK driver direct on the brian without additional hardware. I don't know if the brain has enough memory and the computing power to be able to do that.
- Setting up a new device only works via the cloud. If this is switched off, the device is electronic waste. It would, therefore, be important to be able to make a kind of backup so that at least the devices that have been set up at the time can be saved back at a later time or maybe even used for a second NEEO to transfer a configuration
- The possibilities of adapting the surface are very limited, if you could find a way to adapt more, this would at least significantly improve the operation of the device and the individualization.
- IR devices can only be added via the cloud, so if a new device is available in the future, you won't be able to add it anymore. Unless you understand the structure of the IR codes for NEEO and will find a way in the future to be able to add devices to the NEEO without the cloud.
- Ideally, something like DustCloud would be a solution for NEEO without the cloud that most users would want here, but will never come from the current owner of the rights and the hardware, who simply leaves the previous users in the rain. If the know-how is enough to get the device somehow independent of the cloud, that would be the only hope that many here may still use the device in the long term, until the hardware eventually gives up -
We should move the discussion to telegram or so. Drop me a mail and I share details. dgiese at mit.edu
-
root access is now available. See also
Patch for NEEO brian for root accessor
-
See also
https://twitter.com/dgi_DE/status/1267941534470680577
for more information for the Dustbuilder patch.