03/12/2018 at 05:49 •
After some googling around and good comments from friend of mine i was able to get some good key words to look for when trying to get the touchscreen running.
The first is silead. Silead Inc. is the manufacturer of the touchscreen and silead is also the Linux kernel module providing the driver.
lsmod | grep silead silead 16384 0
dmesg | grep silead [ 3.089142] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply vddio not found, using dummy regulator [ 3.089179] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply avdd not found, using dummy regulator [ 3.089698] silead_ts i2c-MSSL1680:00: Silead chip ID: 0x50910000 [ 3.234661] silead_ts i2c-MSSL1680:00: Direct firmware load for silead/mssl1680.fw failed with error -2 [ 3.234671] silead_ts i2c-MSSL1680:00: Firmware request error -2 [ 3.235217] silead_ts: probe of i2c-MSSL1680:00 failed with error -2
Here we get the chip ID 0x50910000 and also the path where it assumes a firmware silead/mssl1680.fw (this path is relative to /lib/firmware/ so the full path ist /lib/firmware/silead/mssl1680.fw)
On GitHub there is a repository containing these firmware files for multiple tablets, but mine. But there is a firmware for the PiPO W2S. So I tried it out.
git clone https://github.com/onitake/gsl-firmware sudo mkdir -p /lib/firmware/silead/ sudo cp gsl-firmware/firmware/linux/silead/gsl1680-pipo-w2s.fw /lib/firmware/silead/mssl1680.fw sudo rmmod silead; sudo modprobe silead dmesg | grep silead [ 3.089142] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply vddio not found, using dummy regulator [ 3.089179] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply avdd not found, using dummy regulator [ 3.089698] silead_ts i2c-MSSL1680:00: Silead chip ID: 0x50910000 [ 3.234661] silead_ts i2c-MSSL1680:00: Direct firmware load for silead/mssl1680.fw failed with error -2 [ 3.234671] silead_ts i2c-MSSL1680:00: Firmware request error -2 [ 3.235217] silead_ts: probe of i2c-MSSL1680:00 failed with error -2 [ 3.156110] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply vddio not found, using dummy regulator [ 3.156145] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply avdd not found, using dummy regulator [ 3.158094] silead_ts i2c-MSSL1680:00: Silead chip ID: 0x50910000 [ 6.133417] input: silead_ts as /devices/platform/80860F41:01/i2c-1/i2c-MSSL1680:00/input/input7 sudo cat /dev/input/mouse0
When running the last command and touch around on the display, I get gibberish, which means, it works in gerenal. When running the X server, the curser wasn't below my finger and also the axis seemes swapped. So apparently some configuration and calibration is needed.
03/11/2018 at 15:15 •
Since the actual installation also needs a 32-Bit UEFI comaptible bootloader, installing Arch is not as trivial. Again, after some search, I found a Medium Post that descibes exactly that. The only thing missing was using grub-mkconfig to make a new GRUB config.
You can see the way I did it in the instructions of this project.
03/11/2018 at 15:02 •
Since I knew that a 32-Bit UEFI comaptible Linux Live Images was needed, I looked for similar projects.
The first thin I found was Linuxium's blgopost about customizing Ubuntu ISOs. She/He wrote a shell script that used some other tools to alter a boot image. But as the title suggests it only works with ubuntu flavored Linux distros. I gave it a shot with Xubuntu and indeed it bootet. The problem was that during the installation GRUB would always fail.
Since I didn't want to dive too deep into that, I searched for "arch 32 bit efi". The first result that came up was an Arch Wiki article about installing Arch on a ASUS x205ta. The steps described in that article are basically what maked up the bash listing in the first instruction of this proejct.
Is basically has three steps to it.
- Download Arch Linux
- Create bootia32.efi
- Copy everything to an USB stick
When that is done you can connect the USB stick and a keyboard to the tablet via the USB OTG cable and a hub. I even used USB 3.0 hub. This is not neccessary though, but it's nice to know that it works.
Again, going to the system setting byt hitting Esc or Del, booting from the USB stick under Save & Exit > Boot Override and you are presented with the Arch Linux Install GRUB and then the root shell.
03/11/2018 at 14:51 •
In the box was next to the Tablet itself the Mirco-USB charging cable and a Micro-USB OTG cable. This is needed for getting into the system setting, because you can only boot into them by pressing Esc or Del at boot.
In my case, stuff like Secure Boot was not enabled, but I may be different for you. The first thing I did was disabling Quiet Boot just to be greeted by the nice American Megatrends screen every boot.
At the Golden Computer Arcade I also bought a USB3.0 hub, so I can simultaneously connect a keyboard and the boot stick. I also could have tried booting from SD card, but I didn’t.
In the Save & Exit tab is a section called Boot Override where you also can choose a bootable USB stick, if plugged in. In the beginning I tried and failed to boot from a normal boot stick I created with dd. I first I thought that the hardware is still locket to a specific kernel signature, although Secure Boot is inactive.
After some googling around I found out that in order too boot stuff on this or similar machines, I need something with a 32-Bit UEFI comaptible bootloader. When searching for “32 bit efi arch” I found this Arch Wiki Article. They describe the same problem for a different pice of hardware, so i gave it a shot.
03/11/2018 at 14:45 •
Yesterday I bough the cheapest tablet I could find at one of the stalls at Golden Computer Arcade, Hong Kong. It’s a PIPO W7 which ran Windows. Although it was super cheap (389 HKD = 49.63 USD = 40.33 Euro) it was reasonably performant.
When I bought it, I asked the seller whether it can run Linux. He responded “no”, but I think he meant that currently no Linux is installed, but Windows.
CPU 1.33GHz Intel Atom Z3735G Quad Core 2MB L2 Cache RAM 1GB GPU Intel HD Z3700 Series ROM 16GB Screen 7 Inch 1280x800 IPS capacitive multi touch Battery 3Ah Wifi 802.11 b/g/n miscellaneous Bluetooth
3.5mm Audio Jack