Trying to get ALARM working on a Samsung Chromebook 303c

This forum is for supported devices using an ARMv7 Samsung SoC.

Trying to get ALARM working on a Samsung Chromebook 303c

Postby scallopedllama » Mon Jan 21, 2019 12:59 am

Hello!

I just discovered an old Samsung Chromebook 303c that I got a number of years ago that I hadn't used in over a year and thought I'd breathe some new life into it by loading it up with ArchLinux ARM.

I followed the instructions in the installation wiki https://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook to install it to an SD card. It's booting, X works, keyboard is fine, wifi works, etc. but I've found a few issues. Specifically the touchpad, bluetooth, and webcam do not work and it doesn't appear to boot correctly if I reboot (only seems to boot if it was off or rebooted from ChromeOS).

Luckily the ChromeOS works perfectly and is actually Linux so it can easily provide a number of good hints as to what's wrong.

If I'm understanding the PKGBUILD and what I see in /proc/device-tree correctly, it should be booting the exynos5250-snow-rev5.dts device tree (https://github.com/torvalds/linux/blob/v4.20/arch/arm/boot/dts/exynos5250-snow-rev5.dts) which also uses the exynos5250-snow-common.dtsi (https://github.com/torvalds/linux/blob/v4.20/arch/arm/boot/dts/exynos5250-snow-common.dtsi).

The touchpad is apparently a Atmel maXTouch Touchpad on i2c bus 1 (0 in the DT) at address 0x4b. Here's a relevant chunk of dmesg output from the ChromeOS:

$this->bbcode_second_pass_code('', '
chronos@localhost / $ dmesg | grep -i input
[ 0.395417] input: cros-ec-i2c as /devices/12ca0000.i2c/i2c-4/i2c-104/104-001e/cros-ec-keyb.3/input/input0
[ 0.776251] input: Atmel maXTouch Touchpad as /devices/12c70000.i2c/i2c-1/1-004b/input/input1
[ 1.032094] input: DAISY-I2S-98090 HDMI Jack as /devices/sound.8/sound/card0/input2
[ 1.032280] input: DAISY-I2S-98090 Headphone Jack as /devices/sound.8/sound/card0/input3
[ 1.032447] input: DAISY-I2S-98090 Mic Jack as /devices/sound.8/sound/card0/input4
[ 1.335138] input: gpio-keys.7 as /devices/gpio-keys.7/input/input5
[ 1.367963] cpufreq_interactive: monitoring input on cros-ec-i2c
[ 1.368174] cpufreq_interactive: monitoring input on Atmel maXTouch Touchpad
[ 2.067241] Chromium OS LSM: init_module locked module="/lib/modules/3.8.11/kernel/drivers/input/joydev.ko" pid=157 cmdline="udevd --daemon"
[ 2.330966] input: Logitech USB Receiver as /devices/12120000.usb/usb4/4-1/4-1:1.0/input/input6
[ 2.331404] cpufreq_interactive: monitoring input on Logitech USB Receiver
[ 2.331598] hid-generic 0003:046D:C534.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-12120000.usb-1/input0
[ 2.336445] input: Logitech USB Receiver as /devices/12120000.usb/usb4/4-1/4-1:1.1/input/input7
[ 2.336595] cpufreq_interactive: monitoring input on Logitech USB Receiver
[ 2.336831] hid-generic 0003:046D:C534.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-12120000.usb-1/input1
')

The bluetooth is attached via SDIO to one of the sd busses:

$this->bbcode_second_pass_code('', '
chronos@localhost / $ dmesg | grep -i bluetooth
[ 8.648678] Bluetooth: af_bluetooth.c:bt_init() Core ver 2.21
[ 8.649143] Bluetooth: af_bluetooth.c:bt_init() HCI device and connection manager initialized
[ 8.649167] Bluetooth: hci_sock.c:hci_sock_init() HCI socket layer initialized
[ 8.649181] Bluetooth: l2cap_sock.c:l2cap_init_sockets() L2CAP socket layer initialized
[ 8.649219] Bluetooth: sco.c:sco_init() SCO socket layer initialized
[ 8.761089] Bluetooth: btmrvl_sdio.c:btmrvl_sdio_probe() vendor=0x2df, device=0x912a, class=255, fn=2
[ 10.528797] Bluetooth: sock.c:rfcomm_init_sockets() RFCOMM socket layer initialized
[ 10.528824] Bluetooth: core.c:rfcomm_init() RFCOMM ver 1.11
')

I don't see either of those in the device tree so I imagine that's the main issue for those.

The webcam is attached via USB:

$this->bbcode_second_pass_code('', '
chronos@localhost / $ lsusb
Bus 003 Device 004: ID 2232:1037 Silicon Motion WebCam SC-03FFM12339N
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 0424:3503 Standard Microsystems Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
chronos@localhost / $ dmesg | grep -i web
[ 2.578902] usb 3-2.2: Product: WebCam SC-03FFM12339N
[ 2.604178] uvcvideo: Found UVC 1.00 device WebCam SC-03FFM12339N (2232:1037)
')

But it doesn't show up in ALARM. Maybe there's a regulator missing that is needed to enable the devices or power on that USB bus? I see that there is a regulator in the DT for usb3 but I'm not as concerned about this so I haven't played with it as much.

I'm interested in using this laptop so I'm going to keep looking into things but I thought I'd make a quick post here in case anybody has any other insight. Unless I'm using the wrong kernel / device tree, I'm guessing that the device tree for this device needs a addition.

Is anybody else using this platform? Am I just not using the right kernel? I have both linux-armvv7 and linux-armv7-chromebook installed. Any help would be greatly appreciated! Thanks!
scallopedllama
 
Posts: 1
Joined: Mon Jan 21, 2019 12:36 am

Return to Samsung

Who is online

Users browsing this forum: No registered users and 4 guests