So far I did a big progress with this device, so decided to write some summary post:
- Source code and root access is obtained, hooray.
- WIFI bug is kernel related.
- It is possible to run non-vendor software, but before it will be useful – a lot of R&D needs to be done. CPU is powerful enough to play all popular audio formats.
- Vendor software is closed source blob without documentation, scripts or SDK. It is unlikely that it would be possible to improve it, e.g. by adding new formats. But it is possible to suspend it and do anything you want with hardware
It is yet unknown how to control FM, CD and sound mixer. Other hardware is pretty standard. I see some different ways on improving knowledge about hardware:
- It is possible to use strace (kernel supports it), but in current strace code there is no support for I2C and SPI ioctl`s. It should be not very hard to add this code to strace.
- It would be even easer to add more debug in the kernel itself. Only problem is that we will need to write new kernel to the flash – in case of problems we will get a dead device. It should be much safer if I will be able to get serial data to control uboot. Also it should be possible to get kernel from tftp then to avoid any risks.
- To find specification on the used chips. I don`t think that it will help a lot without full schematic, but it may help to 1. and 2.
For me primary goal is to have some “magic” button sequence causing switching to my software (and back). It also interesting to find some easy-to-program frame buffer interface (something like curses “dialog”) to simplify this task.
Currently I do not have a lot of time to continue this efforts, so if you owner of such device and want to join to development – please drop me a note.