Install Fedora 38 on Tablet Neso Volans WT1035
- CPU: Intel Atom Bay Trail Z3735F
- Video: Intel HD Graphics (Atom Processor Z36xxx/Z37xxx Series Graphics & Display)
- Screen: 10.1"
- WiFi: Realtek RTL8723BS Wireless LAN 80211n SDIO Network Adapter
- Disks: mmcblk0: mmc0:0001 NCard 28.9 GiB
- RAM: LPDDR3 1067 2GB (on-board)
- BT: Realtek RTL8723BS_BT
- Camera: Unknown (maybe gc0310 and ov2680 )
+ Boot Standard Kernel
+ Detect hard drives
+ Shutdown
+ Reboot
* Hibernation
+ Sleep / Suspend
+ Battery monitor
+ Xorg
+ OpenGL (60FPS on glxgears)
+ Resize-and-Rotate(randr)
* XWayland
+ Screen backlight
* Light sensor
* Switch to External Screen (HDMI)
+ Mouse Built-in (Touchscreen)
+ Bluetooth
+ Wireless/Wifi
+ Sound
+ MicroSD card reader
- Built-in camera
+ Accelerometers
* Side connector
Legend :
+ xxx = OK
- xxx = Not work (maybe Unsupported)
* xxx = Unknown, Not Tested
- Install Fedora 38
- Bluetooth / WIFI
- Camera
- Accelerometer
- Touchscreen
- Rotate Screen
- Side connector
- VA-API
- Sound
- Others
- Troubleshooting
- Install Fedora 38
- Install 38 from USB
- Bluetooth / WIFI
OLD (NOT RECOMENDED)
- Copy Firmware/rtl_bt to /lib/firmware/
- Camera
- Not work. Not idetified yet
- Accelerometer
- In kernel module bmc150_accel_i2c.
- Ok iio-sensor-proxy
-
Touchscreen
NATIVE evdev (WORKS ON WAYLAND)
- From touchscreen-native:
- 1 - Copy mssl1680.fw to /lib/firmware/silead
- 2 - Copy dsdt.aml to /boot
- 3 - Copy 01-silead.conf to /etc/X11/xorg.conf.d
- 4 - Copy 01_acpi to /etc/grub.d and make executable
- 5 - Reconstruct grub.conf: grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg (if fail with /usr/bin/grub2-editenv: error: invalid environment block. use: grub2-editenv /boot/efi/EFI/fedora/grubenv create )
- 6 - Reboot
NATIVE libinput
- Idem evdev but:
- 3 - Copy 99-calibration.conf to /etc/X11/xorg.conf.d
*OLD (NOT RECOMENDED)*
- Copy Firmware file Firmware/silead_ts.fw to /lib/firmware
- Compile this trivial modified version of gslx680_acpi (from: https://github.com/onitake/gslx680-acpi)
- Sign kernel module: https://blog.delouw.ch/2017/04/18/signing-linux-kernel-kodules-and-enforce-to-load-only-signed-modules/
- Install Kernel Module: insmod ./gslx680_ts_acpi.ko
- ***Advanced: Extract Firmware***
- From your original android retrieve files gslx68x_ts.ko and infosystem.txt
- Search in infosystem.txt something like this:
06-05 13:01:55.099 142 142 I KERNEL : [ 6.013768] ****************************************
06-05 13:01:55.099 142 142 I KERNEL : [ 6.013773] GSLX680 Enter gsl_ts_probe
06-05 13:01:55.099 142 142 I KERNEL : [ 6.013789] ==kzalloc success=
06-05 13:01:55.099 142 142 I KERNEL : [ 6.013798] === GSL I2C addr = 40 ===
06-05 13:01:55.099 142 142 I KERNEL : [ 6.013804] [GSLX680] Enter gslX680_ts_init
06-05 13:01:55.099 142 142 I KERNEL : [ 6.014538] input: GSL_TP as /devices/platform/80860F41:03/i2c-4/4-0040/input/input8
06-05 13:01:55.099 142 142 I KERNEL : [ 6.014621] [tp_gsl] IRQ_PORT =133
06-05 13:01:55.099 142 142 I KERNEL : [ 6.014650] [tp_gsl] RST_PORT =128
06-05 13:01:55.179 142 142 I KERNEL : [ 6.099334] I read reg 0xf0 is 0
06-05 13:01:55.199 142 142 I KERNEL : [ 6.117701] I write reg 0xf0 0x12
06-05 13:01:55.219 142 142 I KERNEL : [ 6.138956] I read reg 0xf0 is 0x12
06-05 13:01:55.389 142 142 I KERNEL : [ 6.308633] read 0xfc = 80 36 0 0
06-05 13:01:55.389 142 142 I KERNEL : [ 6.308688] =============gsl_load_fw start==============
06-05 13:01:55.629 142 142 I KERNEL : [ 6.551825] =============gsl_load_fw end==============
06-05 13:01:55.739 142 142 I KERNEL : [ 6.656985] =============gsl_load_cfg_adjust check start==============
06-05 13:01:56.249 142 142 I KERNEL : [ 7.169676] fuc:cfg_adjust, b8: 0 1 0 0
06-05 13:01:56.249 142 142 I KERNEL : [ 7.169729] fuc:cfg_adjust, GSL_TP_ID_TEMP: 0
06-05 13:01:56.249 142 142 I KERNEL : [ 7.169754] temp[] 0 1 0 0
06-05 13:01:56.249 142 142 I KERNEL : [ 7.169773] fuc:cfg_adjust, cfg_adjust_used_id: 1
06-05 13:01:56.249 142 142 I KERNEL : [ 7.169789] =============gsl_load_cfg_adjust check end==============
06-05 13:01:56.419 142 142 I KERNEL : [ 7.339029] read 0xfc = 80 36 0 0
06-05 13:01:56.419 142 142 I KERNEL : [ 7.339085] =============gsl_load_fw start==============
06-05 13:01:56.419 142 142 I KERNEL : [ 7.339109] I101_GSL3692_8001280_GG_FC_FC101S123
06-05 13:01:57.669 142 142 I KERNEL : [ 8.588004] =============gsl_load_fw end==============
06-05 13:01:57.819 142 142 I KERNEL : [ 8.739781] [GSLX680] End gsl_ts_probe
In this example the FW file is: I101_GSL3692_8001280_GG_FC_FC101S123
- Extract the FW with the modified fw_extractor script (from: https://github.com/onitake/gsl-firmware) You can use a portion of file name to search the correct FW Ex: fw_extractor gslx68x_ts.ko GSL3692_8001280_GG_FC
- Create fw with tools (from: https://github.com/onitake/gsl-firmware)
fwtool -c I101_GSL3692_8001280_GG_FC_FC101S123.fw -w 1500 -h 2000 -t 10 -f track,swap,xflip silead_ts.fw
- Rotate Screen
OLD (NOT RECOMENDED)
- Use RotateScreen/rotate_desktop.sh script (modified from: https://gist.github.com/mildmojo/48e9025070a2ba40795c)
- Side connector
- USB OTG ?
- VA-API
- libva-intel-driver libva-intel-hybrid-driver libva-utils libva-v4l2-request libva-vdpau-driver
vainfo: VA-API version: 1.7 (libva 2.7.0.pre1)
vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
- Sound
- add to /etc/modprobe.d/blacklist.conf:
blacklist snd_hdmi_lpe_audio
Works but saturate.
- Others
- Identify ACPI devices which are not handled by the kernel : their name is not overriden by a human-friendly name. Some works with drivers
find /sys/devices/platform -name name -printf "%p\t" -exec cat {} ;
/sys/devices/platform/INT0002:00/wakeup/wakeup20/name INT0002:00
/sys/devices/platform/80860F41:00/i2c-0/i2c-SMB0349:00/name SMB0349:00
/sys/devices/platform/80860F41:00/i2c-0/i2c-SMSC3750:00/name SMSC3750:00
/sys/devices/platform/80860F41:00/i2c-0/i2c-MAX17047:00/name MAX17047:00
/sys/devices/platform/80860F41:00/i2c-0/i2c-INBC0000:00/name INBC0000:00
/sys/devices/platform/80860F41:00/i2c-0/i2c-TBQ24296:00/name TBQ24296:00
/sys/devices/platform/80860F41:03/i2c-3/i2c-MSSL1680:00/name MSSL1680:00
/sys/devices/platform/80860F41:03/i2c-3/i2c-VBUS8622:00/name VBUS8622:00
/sys/devices/platform/80860F41:01/i2c-1/i2c-10EC5640:00/name 10EC5640:00
From: Table of ACPI/PNP _HID/_CID values (Intel Corp)
{"INT0002", "Virtual GPIO Controller"}
{"SMB0349", "Charger"}
{"SMSC3750", "SMSC 3750 USB MUX"}
{"MAX17047", "Fuel Gauge Controller"}
{"INBC0000", "GPIO Expander"}
{"TBQ24296", "Charger"}
{"10EC5640", "Realtek I2S Audio Codec"}
MSSL1680: silead mssl1680 touchscreen
VBUS8622 ??? (Maybe camera)
- Troubleshooting
- If use new kernels may be boots on black screen. Try this flags on kernel:
efi=debug earlyprintk=efi,keep