Difference between revisions of "Samsung Galaxy Tab S 10.5 WiFi (samsung-chagallwifi)"

From postmarketOS
Jump to navigation Jump to search
(→‎Mainline kernel: Making progress! Update with latest log)
(Add start of an "Issues" section)
 
Line 104: Line 104:
 
$ ip a
 
$ ip a
 
</source>
 
</source>
 +
 +
== Issues (apart from broken components) ==
 +
 +
Touchscreen does not work fully after a while (after device sleeps?). Cursor still moves, but it is impossible to click, or double click, things. This has been observed in xfce, happens on klimtlte as well.
  
 
== Mainline kernel status ==
 
== Mainline kernel status ==

Latest revision as of 18:11, 6 April 2021

Samsung Galaxy Tab S 10.5 (WiFi)
Chagallwifi with the xfce GUI
Chagallwifi with the xfce GUI
Manufacturer Samsung
Name Galaxy Tab S 10.5 (WiFi)
Codename samsung-chagallwifi
Released 2014
Category testing
Original software Android 4.4.2
Hardware
Chipset Samsung Exynos 5420
CPU 1.9 Ghz A15 Quad + 1.3 Ghz A7 Quad
GPU Mali-T628 MP6
Display 2560x1600 AMOLED
Storage 16/32 GB
Memory 3 GB
Architecture armv7
Features
USB Networking
Works
Flashing
Broken
Touchscreen
Partial
Display
Works
WiFi
Works
Xwayland
Broken
FDE
Broken
Mainline
Partial
Battery
Broken
3D Acceleration
Broken
Accelerometer
Broken
Audio
Broken
Bluetooth
Broken
Camera
Broken
GPS
Broken
Mobile data
SMS
Calls
USB OTG



Contributors

Users owning this device


How to enter flash mode

Press and hold Power + Volume Down + Home. Press Volume Up when prompted

Installation

Easiest way to install postmarketOS is to create a zip to flash from twrp, run

$ pmbootstrap install --android-recovery-zip
$ pmbootstrap export

And then copy or adb push /tmp/postmarketOS-export/pmos-samsung-chagallwifi.zip to your device, reboot to twrp and install the zip and then reboot to system.

Alternatively you can flash the kernel with heimdall from download mode and then install the rootfs with netcat by running:

$ pmbootstrap install
$ pmbootstrap initfs hook_add debug-shell
$ pmbootstrap export --odin
$ heimdall flash --BOOT /tmp/postmarketOS-export/boot.img-samsung-chagallwifi

You can now telnet to the device and netcat the postmarketOS installation:

$ telnet 172.16.42.1
$ nc -v -l -p 60000 > /dev/mmcblk0p18

Open another console

$ pv /tmp/postmarketOS-export/samsung-chagallwifi.img | nc 172.16.42.1 60000

Wifi

To connect to a wifi the same steps as for the Medion Lifetab S9714 (medion-kai) work:

1. Verify that the wlan0 interface exists

$ ip link

2. Turn on wifi

$ nmcli radio wifi on

3. List available wifis

$ nmcli device wifi list

4. Connect to your wifi

$ nmcli device wifi connect "$SSID" password "$PASSWORD"

5. Verify that you have been given an ip address on the wlan0, or swlan0, interface

$ ip a

Issues (apart from broken components)

Touchscreen does not work fully after a while (after device sleeps?). Cursor still moves, but it is impossible to click, or double click, things. This has been observed in xfce, happens on klimtlte as well.

Mainline kernel status

A start of a kernel for chagallwifi (and other exynos5420 tablets) can be found at github.com/grimler91/linux. Currently it is possible to get to a debug initfs shell with the mainline kernel. OpenRC then tries to bring up various services with errors.

To compile and flash a boot.img, clone the repo and then run:

From the exynos5420-chagallwifi branch of the linux repo
$ source path-to-pmbootstrap/helpers/envkernel.sh
$ make exynos5_defconfig
Remove old zImage (if it exists) to make sure you do not accidentally append several dtbs (in which case kernel just ignores the extra dtbs):
$ sudo rm -f .output/arch/arm/boot/zImage
$ make -j8
$ cat .output/arch/arm/boot/zImage .output/arch/arm/boot/dts/exynos5420-chagallwifi.dtb > zImage.tmp 
$ sudo mv zImage.tmp .output/arch/arm/boot/zImage
$ pmbootstrap build --envkernel linux-samsung-chagallwifi
$ pmbootstrap flasher flash_kernel --partition BOOT

Note that you will need a serial debugging cable to get any output from the kernel. It should be possible to enable pstore as well (the persistent RAM location is defined in the dts so just needs to be enabled in config), but I have not managed to mount pstore in recovery and see any logs.

Typically output from kernel right now looks something like

Starting kernel at 0x20008000...

SWITCH_SEL(3)
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty (pmos@grimlerstat) (armv7-alpine-linux-musleabihf-gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, GNU ld (GNU Binutils) 2.35.1) #9 SMP PREEMPT Mon Feb 15 17:02:09 UTC 2021
[    0.000000] CPU: ARMv7 Processor [412fc0f3] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Samsung Chagallwifi based on exynos5420
[    0.000000] earlycon: exynos4210 at MMIO 0x12c20000 (options '115200n8')
[    0.000000] printk: bootconsole [exynos4210] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 96 MiB at 0xd9800000
[    0.000000] Samsung CPU ID: 0xe5420020
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000020000000-0x000000003f7fffff]
[    0.000000]   HighMem  [mem 0x000000003f800000-0x00000000df9fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000020000000-0x0000000066ffffff]
[    0.000000]   node   0: [mem 0x0000000067fa0000-0x00000000df9fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000020000000-0x00000000df9fffff]
[    0.000000] percpu: Embedded 16 pages/cpu s34924 r8192 d22420 u65536
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 779888
[    0.000000] Kernel command line:  earlycon console=ttySAC2,115200n8 loglevel=7 sec_debug.level=0 sec_watchdog.sec_pet=5 androidboot.debug_level=0x4f4c sec_log=0x200000@0x26000000 androidboot.hw_rev=7 sec_tima_log=0x200000@0x26202000 sec_avc_log=0x40000@0x26404000 s3cfb.bootloaderfb=0x67000000 lcdtype=5410823 consoleblank=0 lpj=3977216 vmalloc=512m sec_debug.reset_reason=7 oops=panic pmic_info=75 cordon=a13304b0e03f34fd3f651b480652b172 connie=SM-T800_OPEN_EUR_25df71e967a5c45ee368b872d063bd46 androidboot.emmc_checksum=3 androidboot.boot_salescode= androidboot.odin_download=1 androidboot.bootloader=T800XXU1CRJ1 androidboot.selinux=enforcing androidboot.hardware=universal5420 androidboot.warranty_bit=1 androidboot.sec_atd.tty=/dev/ttySAC2 androidboot.serialno=3204959c756bb18b snd_soc_core.pmdown_time=1000 console=ttySAC2,115200 PMOS_NO_OUTPUT_REDIRECT clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2980832K/3123584K available (9216K kernel code, 834K rwdata, 3380K rodata, 1024K init, 2203K bss, 44448K reserved, 98304K cma-reserved, 2509184K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x360/0x4f4 with crng_init=0
[    0.000000] Switching to timer-based delay loop, resolution 41ns
[    0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000001] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.007801] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 57
[    0.015977] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.021309] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.032057] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.040026] Ignoring duplicate/late registration of read_current_timer delay
[    0.047335] Console: colour dummy device 80x30
[    0.051616] Calibrating delay loop (skipped) preset value.. 795.44 BogoMIPS (lpj=3977216)
[    0.059628] pid_max: default: 32768 minimum: 301
[    0.064383] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.071503] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.080308] CPU: Testing write buffer coherency: ok
[    0.084043] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.094061] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.100488] Setting up static identity map for 0x20100000 - 0x20100060
[    0.105899] rcu: Hierarchical SRCU implementation.
[    0.112214] smp: Bringing up secondary CPUs ...
[    1.107998] CPU1: failed to boot: -110
[    2.108246] CPU2: failed to boot: -110
[    2.588039] random: fast init done
[    3.108038] CPU3: failed to boot: -110
[    4.108059] CPU4: failed to boot: -110
[    5.108055] CPU5: failed to boot: -110
[    6.108283] CPU6: failed to boot: -110
[    7.108047] CPU7: failed to boot: -110
[    7.110415] smp: Brought up 1 node, 1 CPU
[    7.114311] SMP: Total of 1 processors activated (795.44 BogoMIPS).
[    7.120623] CPU: All CPU(s) started in SVC mode.
[    7.125998] devtmpfs: initialized
[    7.162663] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    7.169652] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    7.178707] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    7.187804] pinctrl core: initialized pinctrl subsystem
[    7.195007] NET: Registered protocol family 16
[    7.200893] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    7.211257] thermal_sys: Registered thermal governor 'step_wise'
[    7.213546] cpuidle: using governor menu
[    7.222201] hw-breakpoint: Failed to enable monitor mode on CPU 0.
[    7.228936] soc soc0: Exynos: CPU[EXYNOS5420] PRO_ID[0xe5420020] REV[0x20] Detected
[    7.355042] EXYNOS5420 PMU initialized
[    7.600124] iommu: Default domain type: Translated 
[    7.604418] SCSI subsystem initialized
[    7.607796] usbcore: registered new interface driver usbfs
[    7.613069] usbcore: registered new interface driver hub
[    7.618198] usbcore: registered new device driver usb
[    7.624952] Advanced Linux Sound Architecture Driver Initialized.
[    7.630759] nfc: nfc_init: NFC Core ver 0.1
[    7.633846] NET: Registered protocol family 39
[    7.638751] clocksource: Switched to clocksource mct-frc
[    7.645042] simple-framebuffer 67000000.framebuffer: framebuffer at 0x67000000, 0xfa0000 bytes, mapped to 0x(ptrval)
[    7.654256] simple-framebuffer 67000000.framebuffer: format=a8r8g8b8, mode=1920x1080x32, linelength=7680
[    7.683292] Console: switching to colour frame buffer device 274x77
[    7.705442] simple-framebuffer 67000000.framebuffer: fb0: simplefb registered!
[    7.731281] NET: Registered protocol family 2
[    7.735587] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 11264 bytes, linear)
[    7.742850] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    7.750384] TCP bind hash table entries: 4096 (order: 5, 163840 bytes, linear)
[    7.758377] TCP: Hash tables configured (established 4096 bind 4096)
[    7.764163] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[    7.770644] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[    7.777856] NET: Registered protocol family 1
[    7.782745] RPC: Registered named UNIX socket transport module.
[    7.787632] RPC: Registered udp transport module.
[    7.792474] RPC: Registered tcp transport module.
[    7.796991] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    7.803925] Trying to unpack rootfs image as initramfs...
[    7.875331] Freeing initrd memory: 1440K
[    7.879331] hw perfevents: /arm-a7-pmu: failed to probe PMU!
[    7.883531] hw perfevents: /arm-a7-pmu: failed to register PMU devices!
[    7.891133] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[    7.901642] Initialise system trusted keyrings
[    7.905012] workingset: timestamp_bits=30 max_order=20 bucket_order=0
[    7.929454] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    7.935215] NFS: Registering the id_resolver key type
[    7.938982] Key type id_resolver registered
[    7.943003] Key type id_legacy registered
[    7.947237] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    7.953836] romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
[    7.959187] Key type asymmetric registered
[    7.962609] Asymmetric key parser 'x509' registered
[    7.967536] bounce: pool size: 64 pages
[    7.971343] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    7.978642] io scheduler mq-deadline registered
[    7.983164] io scheduler kyber registered
[    7.990552] samsung-usb2-phy 12130000.phy: supply vbus not found, using dummy regulator
[    7.998998] exynos5_usb3drd_phy 12100000.phy: supply vbus not found, using dummy regulator
[    8.006082] exynos5_usb3drd_phy 12100000.phy: supply vbus-boost not found, using dummy regulator
[    8.015558] exynos5_usb3drd_phy 12500000.phy: supply vbus not found, using dummy regulator
[    8.023142] exynos5_usb3drd_phy 12500000.phy: supply vbus-boost not found, using dummy regulator
[    8.045857] dma-pl330 121a0000.pdma: Loaded driver for PL330 DMAC-241330
[    8.051236] dma-pl330 121a0000.pdma: 	DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    8.065331] dma-pl330 121b0000.pdma: Loaded driver for PL330 DMAC-241330
[    8.070657] dma-pl330 121b0000.pdma: 	DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    8.080921] dma-pl330 10800000.mdma: Loaded driver for PL330 DMAC-241330
[    8.086229] dma-pl330 10800000.mdma: 	DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
[    8.211353] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    8.221206] 12c00000.serial: ttySAC0 at MMIO 0x12c00000 (irq = 70, base_baud = 0) is a S3C6400/10
[    8.230157] 12c10000.serial: ttySAC1 at MMIO 0x12c10000 (irq = 71, base_baud = 0) is a S3C6400/10[    8.238933] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 72, base_baud = 0) is a S3C6400/10
[    8.246515] printk: console [ttySAC2] enabled
[    8.246515] printk: console [ttySAC2] enabled
[    8.255117] printk: bootconsole [exynos4210] disabled
[    8.255117] printk: bootconsole [exynos4210] disabled
[    8.266469] 12c30000.serial: ttySAC3 at MMIO 0x12c30000 (irq = 73, base_baud = 0) is a S3C6400/10
[    8.276735] exynos-trng 10830600.rng: Exynos True Random Number Generator.
[    8.284457] exynos-mixer 14450000.mixer: Adding to iommu group 0
[    8.301487] panfrost 11800000.gpu: clock rate = 420000000
[    8.305670] panfrost 11800000.gpu: [drm:panfrost_devfreq_init] *ERROR* Couldn't set OPP regulators
[    8.333808] brd: module loaded
[    8.363803] loop: module loaded
[    8.369534] libphy: Fixed MDIO Bus: probed
[    8.372925] usbcore: registered new interface driver r8152
[    8.377703] usbcore: registered new interface driver asix
[    8.383102] usbcore: registered new interface driver ax88179_178a
[    8.389157] usbcore: registered new interface driver cdc_ether
[    8.394961] usbcore: registered new interface driver smsc75xx
[    8.400712] usbcore: registered new interface driver smsc95xx
[    8.406368] usbcore: registered new interface driver net1080
[    8.412035] usbcore: registered new interface driver cdc_subset
[    8.417883] usbcore: registered new interface driver zaurus
[    8.423511] usbcore: registered new interface driver cdc_ncm
[    8.431611] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    8.436694] ehci-exynos: EHCI Exynos driver
[    8.441699] exynos-ehci 12110000.usb: EHCI Host Controller
[    8.446388] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1
[    8.454406] exynos-ehci 12110000.usb: irq 90, io mem 0x12110000
[    8.488800] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00
[    8.493993] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    8.501610] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.508861] usb usb1: Product: EHCI Host Controller
[    8.513612] usb usb1: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty ehci_hcd
[    8.523443] usb usb1: SerialNumber: 12110000.usb
[    8.529410] hub 1-0:1.0: USB hub found
[    8.531783] hub 1-0:1.0: 3 ports detected
[    8.537832] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    8.542680] ohci-exynos: OHCI Exynos driver
[    8.547202] exynos-ohci 12120000.usb: USB Host Controller
[    8.552227] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2
[    8.559935] exynos-ohci 12120000.usb: irq 90, io mem 0x12120000
[    8.633238] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.11
[    8.640887] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.647224] usb usb2: Product: USB Host Controller
[    8.652031] usb usb2: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty ohci_hcd
[    8.661819] usb usb2: SerialNumber: 12120000.usb
[    8.667480] hub 2-0:1.0: USB hub found
[    8.670250] hub 2-0:1.0: 3 ports detected
[    8.677157] usbcore: registered new interface driver uas
[    8.681234] usbcore: registered new interface driver usb-storage
[    8.687782] udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers
[    8.699346] i2c /dev entries driver
[    8.851324] s5m-rtc s2mps14-rtc: registered as rtc0
[    8.856671] s5m-rtc s2mps14-rtc: setting system clock to 2013-01-01T00:52:33 UTC (1357001553)
[    8.864774] s2mps11-clk s2mps11-clk: DMA mask not set
[    8.886172] s3c2410-wdt 101d0000.watchdog: watchdog inactive, reset disabled, irq disabled
[    8.894448] device-mapper: ioctl: 4.43.0-ioctl (2020-10-01) initialised: dm-devel@redhat.com
[    8.918838] sdhci: Secure Digital Host Controller Interface driver
[    8.923776] sdhci: Copyright(c) Pierre Ossman
[    8.928170] Synopsys Designware Multimedia Card Interface Driver
[    8.936736] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    8.943116] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    8.948550] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    8.954383] s5p-secss 10830000.sss: s5p-sss driver registered
[    8.960923] usbcore: registered new interface driver usbhid
[    8.965181] usbhid: USB HID core driver
[    8.969129] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 92,64 bit host data width,64 deep fifo
[    8.978707] mmc_host mmc0: card is non-removable.
[    8.979101] ashmem: initialized
[    8.988274] exynos-ppmu: new PPMU device registered 10d00000.ppmu (ppmu-event3-dmc0_0)
[    8.995457] exynos-ppmu: new PPMU device registered 10d10000.ppmu (ppmu-event3-dmc0_1)
[    9.003064] exynos-ppmu: new PPMU device registered 10d60000.ppmu (ppmu-event3-dmc1_0)
[    9.010538] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[    9.020388] exynos-ppmu: new PPMU device registered 10d70000.ppmu (ppmu-event3-dmc1_1)
[    9.029706] exynos-adc 12d10000.adc: IRQ index 1 not found
[    9.040304] NET: Registered protocol family 10
[    9.044871] Segment Routing with IPv6
[    9.047166] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    9.053784] NET: Registered protocol family 17
[    9.057430] NET: Registered protocol family 15
[    9.061989] Key type dns_resolver registered
[    9.066570] Registering SWP/SWPB emulation handler
[    9.071131] Loading compiled-in X.509 certificates
[    9.077921] dma-pl330 3880000.adma: Loaded driver for PL330 DMAC-241330
[    9.083192] dma-pl330 3880000.adma: 	DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6
[    9.116323] dma-pl330 3880000.adma: PM domain MAU will not be powered off
[    9.181565] mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 200000000Hz, actual 100000000HZ div = 0)
[    9.193923] OF: graph: no port node found in /soc/hdmi@14530000
[    9.199397] mmc0: new HS200 MMC card at address 0001
[    9.204135] [drm] Exynos DRM: using 14450000.mixer device for DMA mapping operations
[    9.211745] mmcblk0: mmc0:0001 016GE2 14.7 GiB 
[    9.215828] mmcblk0boot0: mmc0:0001 016GE2 partition 1 4.00 MiB
[    9.221597] exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops)
[    9.229215] mmcblk0boot1: mmc0:0001 016GE2 partition 2 4.00 MiB
[    9.235058] exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops)
[    9.242128] mmcblk0rpmb: mmc0:0001 016GE2 partition 3 4.00 MiB, chardev (247:0)
[    9.249667] exynos-drm exynos-drm: [drm] Cannot find any crtc or sizes
[    9.256869] [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 0
[    9.264224] exynos-drm exynos-drm: [drm] Cannot find any crtc or sizes
[    9.269576] panfrost 11800000.gpu: clock rate = 420000000
[    9.279396]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21
[    9.288467] panfrost 11800000.gpu: mali-t620 id 0x620 major 0x0 minor 0x1 status 0x0
[    9.298776] panfrost 11800000.gpu: features: 00000000,10206400, issues: 00000000,21eee400
[    9.305472] panfrost 11800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xf JS:0x7
[    9.318402] panfrost 11800000.gpu: shader_present=0x3f l2_present=0x11
[    9.330051] [drm] Initialized panfrost 1.1.0 20180908 for 11800000.gpu on minor 1
[    9.340430] xhci-hcd xhci-hcd.7.auto: xHCI Host Controller
[    9.344450] xhci-hcd xhci-hcd.7.auto: new USB bus registered, assigned bus number 3
[    9.352451] xhci-hcd xhci-hcd.7.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
[    9.361534] xhci-hcd xhci-hcd.7.auto: irq 166, io mem 0x12000000
[    9.368022] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    9.375655] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.382845] usb usb3: Product: xHCI Host Controller
[    9.387672] usb usb3: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty xhci-hcd
[    9.397489] usb usb3: SerialNumber: xhci-hcd.7.auto
[    9.402998] hub 3-0:1.0: USB hub found
[    9.406118] hub 3-0:1.0: 1 port detected
[    9.410456] xhci-hcd xhci-hcd.7.auto: xHCI Host Controller
[    9.415413] xhci-hcd xhci-hcd.7.auto: new USB bus registered, assigned bus number 4
[    9.423092] xhci-hcd xhci-hcd.7.auto: Host supports USB 3.0 SuperSpeed
[    9.429647] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    9.437762] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.11
[    9.445843] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.453034] usb usb4: Product: xHCI Host Controller
[    9.457861] usb usb4: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty xhci-hcd
[    9.467678] usb usb4: SerialNumber: xhci-hcd.7.auto
[    9.473165] hub 4-0:1.0: USB hub found
[    9.476266] hub 4-0:1.0: 1 port detected
[    9.483699] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller
[    9.487719] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 5
[    9.495680] xhci-hcd xhci-hcd.8.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
[    9.504808] xhci-hcd xhci-hcd.8.auto: irq 167, io mem 0x12400000
[    9.511298] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    9.518934] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.526093] usb usb5: Product: xHCI Host Controller
[    9.530971] usb usb5: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty xhci-hcd
[    9.540761] usb usb5: SerialNumber: xhci-hcd.8.auto
[    9.546206] hub 5-0:1.0: USB hub found
[    9.549408] hub 5-0:1.0: 1 port detected
[    9.553667] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller
[    9.558684] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 6
[    9.566370] xhci-hcd xhci-hcd.8.auto: Host supports USB 3.0 SuperSpeed
[    9.572918] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM.
[    9.581064] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.11
[    9.589121] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.596283] usb usb6: Product: xHCI Host Controller
[    9.601161] usb usb6: Manufacturer: Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty xhci-hcd
[    9.610952] usb usb6: SerialNumber: xhci-hcd.8.auto
[    9.616418] hub 6-0:1.0: USB hub found
[    9.619598] hub 6-0:1.0: 1 port detected
[    9.625449] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[    9.629825] rtc rtc1: invalid alarm value: 1900-01-01T00:00:00
[    9.635510] s3c-rtc 101e0000.rtc: registered as rtc1
[    9.642906] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    9.649010] clk: Not disabling unused clocks
[    9.652369] ALSA device list:
[    9.655336]   No soundcards found.
[    9.660889] Freeing unused kernel memory: 1024K
[    9.669069] Run /init as init process
### postmarketOS initramfs ###
Configuring kernel firmware image search path
Trying to mount subpartitions for 10 seconds...
Mount subpartitions of /dev/mmcblk0p18
[   11.074440] dm-0: detected capacity change from 192512 to 0
[   11.083927] dm-1: detected capacity change from 4741120 to 0
NOTE: Waiting 10 seconds for the framebuffer /dev/fb0.
If your device does not have a framebuffer, disable this with:
no_framebuffer=true in <https://postmarketos.org/deviceinfo>
Setting framebuffer mode to: U:1920x1080p-0
Setup usb network
  /sys/class/android_usb does not exist, skipping android_usb
 [   11.823484] using random self ethernet address
[   11.826627] using random host ethernet address
 Setting up an USB gadget through configfs
  No USB Device Controller available
Starting udhcpd
  Could not find an interface to run a dhcp server on
  Interfaces:
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
Create 'pmos_continue_boot' script
Create 'pmos_shell' script
Create 'pmos_loop_forever' script
Start the telnet daemon
---
WARNING: debug-shell is active on 172.16.42.1:23.
This is a security hole! Only use it for debugging, and
uninstall the debug-shell hook afterwards!
---
tty: ignoring all arguments
/dev/console
Exit the shell to continue booting:
sh: can't access tty; job control turned off
/ # pmos_continue_boot
Terminated
Starting udhcpd
/ #   Could not find an interface to run a dhcp server on
  Interfaces:
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
Mount boot partition (/dev/dm-0) to /boot (read-only)
[   36.246467] EXT4-fs (dm-0): mounted filesystem without journal. Opts: (null). Quota mode: disabled.
Extract /boot/initramfs-samsung-chagallwifi-extra
23510 blocks
[   37.757865] random: crng init done
Check/repair root filesystem (/dev/mapper/mmcblk0p18p2)
e2fsck 1.46.1 (9-Feb-2021)
pmOS_root: clean, 54473/148352 files, 185192/592640 blocks
Resize root filesystem (/dev/mapper/mmcblk0p18p2)
resize2fs 1.46.1 (9-Feb-2021)
The filesystem is already 592640 (4k) blocks long.  Nothing to do!

Mount root partition (/dev/mapper/mmcblk0p18p2) to /sysroot (read-only)
[   39.728200] EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
Mount boot partition (/dev/dm-0) to /sysroot/boot (read-write)
[   40.026330] EXT4-fs (dm-0): mounted filesystem without journal. Opts: (null). Quota mode: disabled.
[   40.190227] vddq_mmc2: disabling
[   40.195899] vdd_ldo29: disabling
umount: can't unmount /dev: Invalid argument

   OpenRC 0.42.1.788529e388 is starting up Linux 5.11.0-rc7-postmarketos-exynos5-00019-gc0683f03bdfd-dirty (armv7l)

/lib/rc/sh/init.sh: line 15: can't create /dev/null: Read-only file system
 * md5sum is missing, which suggests /usr is not mounted
 * If you have separate /usr, it must be mounted by initramfs
 * If not, you should check coreutils is installed correctly
 * Mounting /proc ... [ ok ]
 * Mounting /run ... * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
/lib/rc/sh/gendepends.sh: line 28: can't create /dev/null: Read-only file system
 * Caching service dependencies ... [ ok ]
 * Clock skew detected with `(null)'
 * Adjusting mtime of `/run/openrc/deptree' to Sun Feb 14 13:58:02 2021

 * WARNING: clock skew detected!
 * Mounting devtmpfs on /dev ... [ ok ]
 * Mounting /dev/pts ... [ ok ]
 * Mounting /dev/shm ... [ ok ]
 * Mounting /sys ... [ ok ]
 * Mounting security filesystem ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting config filesystem ... [ ok ]
 * Starting udev ... [ ok ]
 * Generating a rule to create a /dev/root symlink ... [ ok ]
 * Populating /dev with existing devices through uevents ... [ ok ]
 * WARNING: clock skew detected!
 * Loading modules ... [ ok ]
 * Setting system clock using the hardware clock [UTC] ...hwclock: select() to /dev/rtc0 to wait for clock tick timed out
 * Failed to set the system clock
 [ !! ]
 * Checking local filesystems  ... [ ok ]
 * Remounting root filesystem read/write ... [ ok ]
 * Remounting filesystems ... * fstabinfo: empty fstab
 [ ok ]
 * Mounting local filesystems ... [ ok ]
 * Configuring kernel parameters ...sysctl: error: 'net.ipv4.tcp_syncookies' is an unknown key
sysctl: error: 'kernel.unprivileged_bpf_disabled' is an unknown key
 [ ok ]
 * Migrating /var/lock to /run/lock ... [ ok ]
 * Creating user login records ... [ ok ]
 * Wiping /tmp directory ... [ ok ]
 * Setting hostname ... [ ok ]
 * Starting msm-fb-refresher ... [ ok ]
 * Starting busybox syslog ... [ ok ]
 * WARNING: clock skew detected!
 * Starting System Message Bus ... [ ok ]
 * Starting haveged ... [ ok ]
 * Could not find a wireless interface
 * /var/run/wpa_supplicant: creating directory
 * Starting WPA Supplicant ... [ ok ]
 * Starting networkmanager ... [ ok ]
 * Starting chronyd ... [ ok ]
 * /run/lightdm: creating directory
 * /run/lightdm: correcting owner
 * Starting Display Manager ... [ ok ]
 * Restoring rfkill configuration ...cat: can't open '/var/lib/rfkill/*': No such file or directory
Try 'rfkill --help' for more information.
 [ ok ]
 * Starting sleep-inhibitor ... [ ok ]
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 
 * Starting sshd ... [ ok ]
 * Activating swap file ...Configured swap file size is 0, skipping creation.
 [ ok ]
 * Starting local ... [ ok ]

Where we can see multiple problems. Some are described in the following subsections.

CPUs

All secondary CPUs fail to boot

[    0.112219] smp: Bringing up secondary CPUs ...
[    1.107997] CPU1: failed to boot: -110
[    2.108245] CPU2: failed to boot: -110
[    3.108039] CPU3: failed to boot: -110
[    4.108057] CPU4: failed to boot: -110
[    5.108054] CPU5: failed to boot: -110
[    6.108284] CPU6: failed to boot: -110
[    7.108048] CPU7: failed to boot: -110

This (or a very similar problem) was discussed extensively on the linux-arm-kernel mailing list. A potential workaround was given, but does not seem to work directly in this case. The modified mcpm code is simply not run.

usb

The device does not show up in dmesg when connecting to a computer. Log shows

[    7.990552] samsung-usb2-phy 12130000.phy: supply vbus not found, using dummy regulator
[    7.998998] exynos5_usb3drd_phy 12100000.phy: supply vbus not found, using dummy regulator
[    8.006082] exynos5_usb3drd_phy 12100000.phy: supply vbus-boost not found, using dummy regulator
[    8.015558] exynos5_usb3drd_phy 12500000.phy: supply vbus not found, using dummy regulator
[    8.023142] exynos5_usb3drd_phy 12500000.phy: supply vbus-boost not found, using dummy regulator

which should be pretty straight forward to solve once I figure out which regulators should be used for them.

vdd_ldo29

Before ldo29 is disabled (which happens automatically) the screen just shows noise (see this video and note how the screen turns white). Once we add support for the display the problem probably goes away.

filesystem errors

When openRC starts it shows

Mount root partition (/dev/mapper/mmcblk0p18p2) to /sysroot (read-only)
[...]
/lib/rc/sh/init.sh: line 15: can't create /dev/null: Read-only file system
 * md5sum is missing, which suggests /usr is not mounted

maybe something is wrong with the mmc node.

Command Line and serial output

/proc/cmdline when running LineageOS 15.1 contains:

console=ram 
loglevel=4 
sec_debug.level=0 
sec_watchdog.sec_pet=5 
androidboot.debug_level=0x4f4c 
sec_log=0x200000@0x26000000
sec_tima_log=0x200000@0x26202000
sec_avc_log=0x40000@0x26404000
s3cfb.bootloaderfb=0x67000000 
lcdtype=5410823 
consoleblank=0 
lpj=3977216 
vmalloc=512m 
sec_debug.reset_reason=7 
oops=panic 
pmic_info=67 
cordon=e2693b1e8c8724879b6f74b29a0120f3
connie=SM-T800_OPEN_EUR_c7e33ee79c0aa018334d7f72d27d952a
androidboot.emmc_checksum=3 
androidboot.boot_salescode=
androidboot.odin_download=1 
androidboot.bootloader=T800XXU1BOJ1 
androidboot.selinux=enforcing 
androidboot.hardware=universal5420 
androidboot.warranty_bit=1 
androidboot.sec_atd.tty=/dev/ttySAC2
androidboot.serialno=[removed]
snd_soc_core.pmdown_time=1000

Simply attaching a serial debugging cable (use a 619 kOhm resistor) gives output from the bootloader, but not from the kernel. The reason for this is that console=ram is passed on the cmdline from the bootloader. We need to override this to specify console=ttySAC2,115200n8. This is already part of the default cmdline in the kernel config, but this is then ignored due to CONFIG_CMDLINE_FROM_BOOTLOADER=y being set. To instead concatenate the cmdline from the config to the bootloader cmdline, unset CONFIG_CMDLINE_FROM_BOOTLOADER and set CONFIG_CMDLINE_EXTEND=y, i.e. apply:

diff --git a/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7 b/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7
index f45c768c..e6303374 100644
--- a/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7
+++ b/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7
@@ -698,9 +698,9 @@ CONFIG_ALIGNMENT_TRAP=y
 # CONFIG_USE_OF is not set
 CONFIG_ZBOOT_ROM_TEXT=0
 CONFIG_ZBOOT_ROM_BSS=0
 CONFIG_CMDLINE="console=ttySAC2,115200n8 vmalloc=512M androidboot.console=ttySAC2"
-CONFIG_CMDLINE_FROM_BOOTLOADER=y
-# CONFIG_CMDLINE_EXTEND is not set
+# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
+CONFIG_CMDLINE_EXTEND=y
 # CONFIG_CMDLINE_FORCE is not set
 # CONFIG_XIP_KERNEL is not set
 # CONFIG_KEXEC is not set

If there is no traffic when booting after you plug in the cable you might also need to restart/reset the device (hold vol down + home + power) to get it going.

See also