Differences between revisions 15 and 16
Revision 15 as of 2016-03-14 16:39:52
Size: 14038
Editor: ?BernhardU
Comment:
Revision 16 as of 2016-03-14 18:33:51
Size: 13959
Editor: ?BernhardU
Comment:
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:
Device has UEFI x64 firmware with secure boot disabled. <<BR>> Device is delivered with Windows/Android 4.4 dual boot installation. <<BR>>
Device has UEFI x64 firmware with secure boot disabled when switched to boot Android. <<BR>>
When switched to boot Windows it seems to be a UEFI ia32 firmware. <<BR>>
At least EFI shell complains when trying to load the "wrong" grub architecture.
Line 60: Line 64:
Sometimes the boot device selection shows up but disappears immediately to <<BR>> boot the default OS. <<BR>>
Device is deliverd with Windows/Android 4.4 dual boot installation. <<BR>>
Sometimes the boot device selection shows up but disappears immediately <<BR>>
to
boot the default OS. <<BR>>
Line 64: Line 68:

The OS selection seems to be done by switching EFI architecture between ia32 and x86_64. <<BR>>
At least from EFI shell loading ia32 when configured to startup Windows and loading <<BR>> x86_64 when configured to startup Android succeeded. The other pairs failed.

Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
PIPO X8
- CPU: Intel Atom Z3736F @ 1.33GHz
- Video card: Integrated Intel HD Graphics
- Screen size: 7" (800x1280, touchscreen)
- Wireless card: RTL8723BE (SDIO)
- LAN network card: 10/100M
- 32 GB ROM, 2 GB RAM
- MicroSD card slot
- Sound card: ?
- Bluetooth: ?

Overall Status

Installation was taken from an USB stick installed at a similar device.
Debian Installer was just not tested on this device.
Tests were done with a testing/Stretch installation as of March 2016.

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{i}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

{i}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Switch to External Screen

[?]

Touchscreen

{i}

Wireless/Wifi

X-(

Sound Card

/!\

MicroSD card slot

{i}

Micro-USB connector

[?]

Power and volume buttons

[?]

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

{i} linux-image-4.4.0-1-amd64 4.4.4-2

Important Note

Device is delivered with Windows/Android 4.4 dual boot installation.
Device has UEFI x64 firmware with secure boot disabled when switched to boot Android.
When switched to boot Windows it seems to be a UEFI ia32 firmware.
At least EFI shell complains when trying to load the "wrong" grub architecture.

Boot device selection is requested with F7 key (at external USB keyboard).
Sometimes the boot device selection shows up but disappears immediately
to boot the default OS.

PIPO seems not to release kernel sources for their Android kernel.

Configuration

Display

{i} Display adapter is identified in dmesg as:

[   10.193194] [drm] Initialized i915 1.6.0 20151010 for 0000:00:02.0 on minor 0

In UEFI and efifb stage the screen is rotated to portrait view.
Kernel module inteldrmfb needs kernel parameter to show in landscape view.

/etc/default/grub

GRUB_CMDLINE_LINUX="fbcon=rotate:3"

After editing execute "update-grub" to rebuild grub config and test by rebooting.

The framebuffer seems to be controlled after efifb by module simplefb.
Because of the used rotate value the framebuffer is shown upside down.
But some seconds later module inteldrmfb takes over and shows correct landscape view.

Xorg by default tried to use driver in package xserver-xorg-video-intel.
"This driver is deprecated in favor of the server builtin modesetting driver."
Both drivers comming up again in portrait mode.
This could be resolved with this change:

/usr/share/X11/xorg.conf.d/10-pipo-driver-and-rotation.conf

Section "Device"
        Identifier  "Card0"
        Driver      "modesetting"
EndSection

Section "Monitor"
        Identifier  "DSI-1"
        Option      "Rotate" "left"
EndSection

Audio

/!\ Got it not to work, even when some firmware from package firmware-intel-sound is loaded at boot.

A version of this file reqested here is in package firmware-intel-sound.

[   10.654061] intel_sst_acpi 80860F28:00: Direct firmware load for intel/fw_sst_0f28.bin failed with error -2

When booted from ia32 EFI and tested with kernel v4.5-rc7-244-g03c668a
some audio hardware seems to be detected:

[   10.586500] intel_sst_acpi 80860F28:00: LPE base: 0x90a00000 size:0x200000
[   10.586510] intel_sst_acpi 80860F28:00: IRAM base: 0x90ac0000
[   10.586613] intel_sst_acpi 80860F28:00: DRAM base: 0x90b00000
[   10.586634] intel_sst_acpi 80860F28:00: SHIM base: 0x90b40000
[   10.586653] intel_sst_acpi 80860F28:00: Mailbox base: 0x90b44000
[   10.586669] intel_sst_acpi 80860F28:00: DDR base: 0x20000000
[   10.586793] intel_sst_acpi 80860F28:00: Got drv data max stream 25
[   11.103543] bytcr_rt5640 bytcr_rt5640: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
[   11.103634] bytcr_rt5640 bytcr_rt5640: snd-soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
[   11.103687] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok
[   11.126678] bytcr_rt5640 bytcr_rt5640: rt5640-aif1 <-> ssp2-port mapping ok

$ LANG=C aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: bytcrrt5640 [bytcr-rt5640], device 0: Baytrail Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: bytcrrt5640 [bytcr-rt5640], device 1: Deep-Buffer Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

But when trying to play something this error is given:

aplay: set_params:1297: Unable to install hw params:

[  141.466529] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x0 fw_state 0x1
[  141.466538] intel_sst_acpi 80860F28:00: fw download failed -16
[  141.466551] intel_sst_acpi 80860F28:00: FW download fail -16
[  141.478937]  Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port

Power Management

  • (not covered yet)

Touchscreen

{i} Manufacturer is Goodix.
This module is not enabled in the default kernel.
Tried to build upstream version of the kernel module on top of kernel 4.4:

mkdir linux-git-goodix; cd linux-git-goodix
wget http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/drivers/input/touchscreen/goodix.c
echo -e "obj-m += goodix.o\nall:\n\tmake -C /lib/modules/\$(shell uname -r)/build M=\$(PWD) modules\nclean:\n\tmake -C /lib/modules/\$(shell uname -r)/build M=\$(PWD) clean" > Makefile
make
echo -n 'file gpiolib.c +p' > /sys/kernel/debug/dynamic_debug/control
echo -n 'file gpiolib-acpi.c +p' > /sys/kernel/debug/dynamic_debug/control
echo -n 'file property.c +p' > /sys/kernel/debug/dynamic_debug/control
insmod goodix.ko dyndbg==pmf

But failed with these messages:

Mär 11 14:18:02 kernel: acpi GDIX1001:01: GPIO: looking up 0 in _CRS
Mär 11 14:18:02 kernel: goodix:goodix_ts_probe: Goodix-TS i2c-GDIX1001:01: I2C Address: 0x14
Mär 11 14:18:02 kernel: Goodix-TS i2c-GDIX1001:01: GPIO lookup for consumer irq
Mär 11 14:18:02 kernel: Goodix-TS i2c-GDIX1001:01: using ACPI for GPIO lookup
Mär 11 14:18:02 kernel: acpi GDIX1001:01: GPIO: looking up irq-gpios
Mär 11 14:18:02 kernel: acpi GDIX1001:01: GPIO: looking up irq-gpio
Mär 11 14:18:02 kernel: acpi GDIX1001:01: GPIO: looking up 0 in _CRS
Mär 11 14:18:02 kernel: Goodix-TS i2c-GDIX1001:01: lookup for GPIO irq failed
Mär 11 14:18:02 kernel: goodix:goodix_get_gpio_config: Goodix-TS i2c-GDIX1001:01: Failed to get irq GPIO: -22
Mär 11 14:18:02 kernel: Goodix-TS: probe of i2c-GDIX1001:01 failed with error -22

Tested again with a complete build of the vanilla kernel version v4.5-rc7-244-g03c668a plus attached patch applied:

[   11.129797] Goodix-TS i2c-GDIX1001:00: ID 911, version: 1060
[   11.141772] Goodix-TS i2c-GDIX1001:00: Applying 'PIPO X8' quirk
[   11.141932] input: Goodix Capacitive TouchScreen as /devices/platform/80860F41:01/i2c-1/i2c-GDIX1001:00/input/input2

This touchscreen is only recognised if the last default startup OS is switched
to Windows. (Has not to be started at all, just EFI arch needs to be ia32).
In this configuration it is working as expected.

WiFi

X-( Got it to work as described below. The HP Pavilion x2 10 seems to have the same wireless device.

mkdir hadess; cd hadess
git clone https://github.com/hadess/rtl8723bs.git
cd rtl8723bs
make -j4
make install
echo r8723bs >> /etc/modules-load.d/modules.conf

[ 9220.925733] RTL8723BS: module init start
[ 9220.925741] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[ 9220.925745] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
...

LAN network card

{i}

[    3.357232] usb 1-1: New USB device found, idVendor=0a46, idProduct=1269
[    3.357255] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.357271] usb 1-1: Product: DM9621A USB To FastEther
[    3.357284] usb 1-1: Manufacturer: DAVICOM

Current testing/Stretch seems to load for this device two drivers: dm9601 and cdc_ether
If dm9601 is faster loading device does not work.

Therefore blacklisted dm9601 for now:

echo blacklist dm9601 > /etc/modprobe.d/blacklist-dm9601.conf

But sometimes cdc_ether still fails and required a reboot.

MicroSD card slot

{i}

[    2.365942] mmc2: SDHCI controller on ACPI [80860F14:02] using ADMA

A card inserted before a warm boot is probably not correctly recognized.
It seems to work better from a cold boot.
Or probably also affected by which pre-installed OS was booted last.


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register [8086:0f00] (rev 0f)
00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 0f)
00:03.0 Multimedia controller [0480]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Camera ISP [8086:0f38] (rev 0f)
00:14.0 USB controller [0c03]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB xHCI [8086:0f35] (rev 0f)
00:16.0 USB controller [0c03]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series OTG USB Device [8086:0f37] (rev 0f)
00:1a.0 Encryption controller [1080]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine [8086:0f18] (rev 0f)
00:1f.0 ISA bridge [0601]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit [8086:0f1c] (rev 0f)

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' | grep -v "(Bus Powered)" 2>/dev/null

Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                1 USB2.0 Hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
Bus 001 Device 002: ID 0a46:1269 Davicom Semiconductor, Inc. 
  bDeviceClass            2 Communications
  bDeviceProtocol         0 
  iProduct                2 DM9621A USB To FastEther
  bDeviceClass            2 Communications
  bDeviceProtocol         0 

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

  • [get | view] (2016-03-14 14:01:10, 2.0 KB) [[attachment:0001-Input-goodix-add-changes-to-support-PIPO-X8.patch]]
  • [get | view] (2016-03-15 13:21:53, 34.3 KB) [[attachment:amixer.txt]]
  • [get | view] (2016-03-14 16:37:33, 37.2 KB) [[attachment:efi-ia32-booted_dsdt.dsl.gz]]
  • [get | view] (2016-03-14 16:37:49, 38.0 KB) [[attachment:efi-x86_64-booted_dsdt.dsl.gz]]
 All files | Selected Files: delete move to page copy to page

Credits