Getting the latest kernel onto WM8650

674 views
Skip to first unread message

templ...@gmail.com

unread,
Jan 30, 2018, 12:04:12 AM1/30/18
to VT8500/WM8505 Linux Kernel
Hey, everyone!

I have an old WM8650 device that I would like to make usable again. Two years ago I managed to install ArchLinux on it. Now I want to try out v4 kernel, and see if I can get Debian sid (armel) working.

Can this be done? I tried compiling the kernel and using debootstrap for rootfs, but the kernel won't boot - I am not getting past the screen where it says Android and then a progress bar appears. I used:
* this group
* this site: https://sites.google.com/site/basile/linux/otros/android/wm8505---sd
* and this post: https://tinyurl.com/yawwdcb9
for resources.

In order to get the kernel to compile, I had to disable a couple of modules (nothing really important, some SCSI stuff, some keyboard module, etc). I used arm-none-eabi- as CROSS_COMPILE prefix, and did the cross compile on an Ubuntu VM.

This is my wmtscipt:
###
mmcinit 0
fatload mmc 0 0 uImage
setenv bootargs 'mem=214M root=/dev/mmcblk0p3 noinitrd rw rootfstype=ext4 console=ttyWMT0,115200n8 rootdelay=5'
bootm 0
###

There are 3 partitions on my 8 gig SD card: the first contains kernel image and uboot script (W95 FAT32), the second is a 1 gig swap space, and the rest is ext4 root filesystem partition.

I used testing-alchark branch of https://github.com/linux-wmt/linux-vtwm.

Here's my config: https://gist.github.com/dimitrijer/b384394639d5df1d3f56f000b42ffa48

Specs on the bottom side:
WM 8650 800Mhz
6.98'' TFT 800*480
DDR 256MB
9V 1.5A

I am looking forward to making it work, it's been very interesting for me so far :)

Thanks a bunch,
Dimitrije

Alexey Charkov

unread,
Jan 30, 2018, 12:20:13 AM1/30/18
to vt8500-wm8505...@googlegroups.com
Hi Dmitrije!

Welcome to the group ;)

The setup should definitely be workable, and it seems that you are pretty close.

One thing you didn’t mention is which device tree file you used and how you packed the resulting kernel uImage - would you mind posting that?

Best,
Alexey

Dimitrije Radojević

unread,
Jan 30, 2018, 5:50:50 PM1/30/18
to VT8500/WM8505 Linux Kernel
Hey, Alexey, thanks! :)

I used arch/arm/boot/dts/wm8650.dtsi as the device tree. This is the diff to original file I have:

diff --git a/arch/arm/boot/dts/wm8650.dtsi b/arch/arm/boot/dts/wm8650.dtsi
index e12213d..b15e515 100644
--- a/arch/arm/boot/dts/wm8650.dtsi
+++ b/arch/arm/boot/dts/wm8650.dtsi
@@ -232,6 +232,8 @@
                        compatible = "via,vt8500-rhine";
                        reg = <0xd8004000 0x100>;
                        interrupts = <10>;
+                       rhine,revision = <0x84>;
+                       no-eeprom;
                };
        };
 };

I compiled it with "make ARCH=arm dtbs" (my cross-compile toolchain is specified in CONFIG_CROSS_COMPILE as arm-none-eabi-). After compiling, I concatenated it with zImage:
cat arch/arm/boot/zImage arch/arm/boot/dts/wm8650-mid.dtb > zImage_w_dtb
and then ran mkimage (from u-boot-tools package):
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "mark-v" -d zImage_w_dtb uzImage.bin

See something suspicious?

Cheers,
Dimitrije

Alexey Charkov

unread,
Jan 31, 2018, 12:22:54 AM1/31/18
to vt8500-wm8505...@googlegroups.com
On Wed, 31 Jan 2018 at 01:50, Dimitrije Radojević <templ...@gmail.com> wrote:
Hey, Alexey, thanks! :)

I used arch/arm/boot/dts/wm8650.dtsi as the device tree. This is the diff to original file I have:

diff --git a/arch/arm/boot/dts/wm8650.dtsi b/arch/arm/boot/dts/wm8650.dtsi
index e12213d..b15e515 100644
--- a/arch/arm/boot/dts/wm8650.dtsi
+++ b/arch/arm/boot/dts/wm8650.dtsi
@@ -232,6 +232,8 @@
                        compatible = "via,vt8500-rhine";
                        reg = <0xd8004000 0x100>;
                        interrupts = <10>;
+                       rhine,revision = <0x84>;
+                       no-eeprom;
                };
        };
 };


You don’t really need this change when using latest mainline code, but that shouldn’t affect your boot anyway.

Did you apply any out of tree patches on top of vtwm kernel?

I compiled it with "make ARCH=arm dtbs" (my cross-compile toolchain is specified in CONFIG_CROSS_COMPILE as arm-none-eabi-). After compiling, I concatenated it with zImage:
cat arch/arm/boot/zImage arch/arm/boot/dts/wm8650-mid.dtb > zImage_w_dtb
and then ran mkimage (from u-boot-tools package):
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "mark-v" -d zImage_w_dtb uzImage.bin

See something suspicious?

Not really, all looks quite right.

What if you change the bootargs to simply ‘root=/dev/mmcblk0p3 rootwait’?

A serial console connection would help greatly if you can get that.

Cheers,
Alexey

dimit...@nordeus.com

unread,
Feb 2, 2018, 12:07:10 AM2/2/18
to VT8500/WM8505 Linux Kernel
I figured out why I was getting that progress bar - image filename in wmt_scriptcmd was wrong, it should have been uzImage.bin. Now there's no progress bar, but the computer still hangs at the same boot screen.

I tried changing the bootargs to what you proposed, no dice. Do I need to open the computer for serial connection? I think I have a USB to TTL converter lying around here somewhere, will I need any other hardware to connect to serial?

Thanks!

Alexey Charkov

unread,
Feb 2, 2018, 12:18:22 AM2/2/18
to vt8500-wm8505...@googlegroups.com
On Fri, 2 Feb 2018 at 08:07, <dimit...@nordeus.com> wrote:
I figured out why I was getting that progress bar - image filename in wmt_scriptcmd was wrong, it should have been uzImage.bin. Now there's no progress bar, but the computer still hangs at the same boot screen.

I tried changing the bootargs to what you proposed, no dice. Do I need to open the computer for serial connection? I think I have a USB to TTL converter lying around here somewhere, will I need any other hardware to connect to serial?

USB to TTL is all you need. There is usually an unsoldered group of 3-4 pads for GND, Rx, Tx and optionally VCC in some order somewhere on the mainboard, sometimes labeled. I usually find it by connecting the ground wire of my TTL adapter to something known grounded on the device (like USB port shield) and poking with the Rx wire into all suspicious pads until I see text in the terminal emulator when rebooting the device. But yes, you’ll need to open up the case of your device to reach the mainboard.

I think I had one wm8650 tablet where the serial header was reachable through the bundled ‘expansion dongle’ that also contained an Ethernet port, so in that case I only needed to disassemble the little dongle not the tablet. Your mileage may vary :)

Best,
Alexey

james.w....@gmail.com

unread,
Feb 7, 2018, 1:52:22 AM2/7/18
to VT8500/WM8505 Linux Kernel
Hello,
I too have a 8650 based laptop, in my case a Craig CLP281.
I have not been using the serial port in a while though it works and is not too hard to get to, I have just been using the console.
my wmt_scriptcmd has
====
display init force
mmcinit 0
textout -1 -1 \"Loading kernel...\" FFFFFF
fatload mmc 0 0 uzImage.bin
textout -1 -1 \"Starting Linux...\" FFFFFF
setenv bootargs 'mem=214M root=/dev/mmcblk0p2 noinitrd rw rootfstype=ext3 rootdelay=1 console=ttyWMT0,115200n8 console=ttyS0 console=tty0'
bootm 0
====
I don't remember which serial port I was using, but the video/keyboard was tty0
I think ttyS0 was for when I was running the original 2.6.32-? kernel and ttyWMT0 was for 4.14.14, though I am a bit fuzzy on that.

I built it on a plain kernel.org 4.14.14 using
ARCH=arm CROSS_COMPILE=armv5tej-none-linux-gnueabi-
The arm-none-eabi may hit a problem, arm- should be able to compile armv5tej-, both agree on -none- as the manufacturer, I have OS -linux- though and -gnueabi- rather than -eabi- I have had issues sometimes with the gcc 4 part target tuples

I use the wm8650-mid.dtb as the device tree object.

If the kernel is booting the next worry would be insuring that the debian armel was compatible with armv5tej there are quite the stack of arm versions.

The part I have yet to figure out is how to enter the second usb controller in the device tree.
The first one works, I am not sure about hotplug it has been busy compiling gentoo xfce for the last week... 67cpu hours since Jan 30 for python:167 of 173 packages built. But still responsive over the console or ssh.

Enjoy,

Jim

joao.marc...@gmail.com

unread,
Nov 8, 2018, 5:57:55 AM11/8/18
to VT8500/WM8505 Linux Kernel
i'm using old Arch Linux on WM8650, Lan Works fine, but wifi not (cpu 100%)

Franco Palombo

unread,
Sep 10, 2021, 5:26:21 PM9/10/21
to VT8500/WM8505 Linux Kernel
joao, can you please send me the files that you used to make archlinux boot on your WM8650?? I'm trying to boot Debian sid from a guy called wicknix on slatedroid.com, but i have no video. I recive an error that says: vgaarb: this pci device is not a VGA device.
Thanks

James McMechan

unread,
Sep 18, 2021, 12:14:05 AM9/18/21
to vt8500-wm8505...@googlegroups.com
Hello Franco,

I too am running linux on a wm8650.
I am running gentoo on a couple of Craig CLP281 netbooks.
I am running mainline kernels 5.1.3 and 4.14.14.
I had not finished tweaking 5.1.3 when I got distracted.
I was only booting to a text console though, nor was I running WiFi

my "script image" is

"display init force
mmcinit 0
textout -1 -1 \"Loading kernel...\" FFFFFF
fatload mmc 0 0 uzImage.bin
textout -1 -1 \"Starting Linux...\" FFFFFF
setenv bootargs 'mem=214M root=/dev/mmcblk0p2 noinitrd rw rootfstype=ext4 rootdelay=1 console=ttyWMT0,115200n8 console=ttyS0 console=tty0'
bootm 0
"
The textout -1 -1 section display messages on the built in display from the boot loader.
As I recall the -1 -1 determines where on screen the text is displayed and the FFFFFF is the RGB color value
I usually build on a amd64 linux box my notes run like this
"make ARCH=arm CROSS_COMPILE=armv5tej-none-linux-gnueabi- menuconfig dtbs zImage modules INSTALL_MOD_PATH=/tmp modules_install
cat arch/arm/boot/zImage arch/arm/boot/dts/wm8650-mid.dtb >/tmp/image2
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "Jims Linux" -d /tmp/image2 /tmp/uzImage.bin
mkimage -A ARM -O Linux -T script -a 1 -e 0 -n "script image" -d "script image"  wmt_scriptcmd
cp /tmp/uzImage.bin wmt_scriptcmd /mnt/p1/
rsync -av /tmp/lib/modules/ /mnt/p2/lib/modules/"

My SD card Partitioned with
p1 64M type c formatted vfat
p2 10G type 83 formated ext4
p3 4.7G type 82 formated as swap
> --
> You received this message because you are subscribed to a topic in the Google Groups "VT8500/WM8505 Linux Kernel" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/vt8500-wm8505-linux-kernel/9uup5THe-SI/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to vt8500-wm8505-linux...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/vt8500-wm8505-linux-kernel/c56f45c3-cc35-4bf6-bde8-1c12a708a219n%40googlegroups.com.

Franco Palombo

unread,
Sep 22, 2021, 7:39:35 PM9/22/21
to VT8500/WM8505 Linux Kernel

Oh, nice! 
Only thing, I dont really know how to compile linux. Is there any way that you can send me a prebuilt image? Or send me a guide about how to do it? Since, as far as i know, to compile for armv5te you have to setup a cross-compile build environment, and I dont really know how to do that, since i dont have another armv5te device. 
Thanks!

MrjoaozZ

unread,
Oct 22, 2021, 4:24:44 AM10/22/21
to vt8500-wm8505...@googlegroups.com

Franco Palombo

unread,
Oct 24, 2021, 5:46:29 PM10/24/21
to VT8500/WM8505 Linux Kernel
Thanks!! It actually worked this time! Only thing i cant get to work is ethernet, but wifi works fine! 

Have you tried updating it with pacman --sync --refresh && pacman --sync --needed archlinux-keyring && pacman --sync --sysupgrade? Im stuck with these errors before starting the installation:

error: error while reading package /var/cache/pacman/pkg/gnome-keyring-1:40.0-1-arm.pkg.tar.xz: Ignoring malformed pax extended attribute
error: error while reading package /var/cache/pacman/pkg/gstreamer-1.18.5-1-arm.pkg.tar.xz: Ignoring malformed pax extended attribute
error: failed to commit transaction (libarchive error) Errors occurred, no packages were upgraded.

Thanks!

MICHEL GOMES DE SOUZA

unread,
May 5, 2022, 3:59:38 PM5/5/22
to VT8500/WM8505 Linux Kernel
I have the same problem, This distribution doesn't come with a C compiler, how to put a tiny C inside that kernel or something similar?

GEROGIANNIS

unread,
Jun 30, 2022, 2:54:22 AM6/30/22
to VT8500/WM8505 Linux Kernel
Hey! I was looking recently on a site ive found and a saw a  epc-1026  with a  VIA WM 8505 cpu for ONLY 20euros and i want to ask if i can install linux (arch or debian) on that system
Also ive no idea on how to do this lol :)
thanks!

Alexey Charkov

unread,
Jun 30, 2022, 7:40:19 AM6/30/22
to VT8500/WM8505 Linux Kernel
You can, but it will involve some jumping through the hoops, and then you'll have no sound (the driver was never reworked for the mainline kernel), no built-in keyboard or touchpad (the driver for their controller was at some point reworked for mainline but not accepted - though it can be hacked up to work), no suspend/resume, no battery charge indication and no NAND / serial flash support.

What can be expected to work is internals such as clocks/timers/RTC/GPIO, basic unaccelerated display output and backlight control, USB, network (ethernet and wifi), SD/MMC. That’s pretty much it. Also the performance won’t be stellar with a single core 300 MHz CPU and 128M RAM.

Best,
Alexey

чт, 30 июн. 2022 г. в 09:54, GEROGIANNIS <ngerogi...@gmail.com>:
You received this message because you are subscribed to the Google Groups "VT8500/WM8505 Linux Kernel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vt8500-wm8505-linux...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vt8500-wm8505-linux-kernel/491ee0bd-8de8-4620-9677-22b81ae9f80fn%40googlegroups.com.

k-lai rivera

unread,
Jun 13, 2023, 10:53:25 PM6/13/23
to VT8500/WM8505 Linux Kernel
I have the wm8650 laptop version I install linux with alchark testing kernel .
The only thing I dont know how activate is the wifi . I know is something with gpio but someone could post the specific commands for activate wifi device?

Thanks!

Alexey Charkov

unread,
Jun 14, 2023, 12:29:48 AM6/14/23
to vt8500-wm8505...@googlegroups.com
Hi!

On Wed, 14 Jun 2023 at 06:53, k-lai rivera <jumpan...@gmail.com> wrote:
I have the wm8650 laptop version I install linux with alchark testing kernel .
The only thing I dont know how activate is the wifi . I know is something with gpio but someone could post the specific commands for activate wifi device?

k-lai rivera

unread,
Jun 14, 2023, 3:11:55 AM6/14/23
to VT8500/WM8505 Linux Kernel
ok  great one part of the gpio  solution its there (Also I dont enable CONFIG_GPIO_SYSFS ) . Now the dmesg shows "new high-speed .... using ehci-platform" but no specific driver. I dont compile modules from the kernel only the boot image. I need modules or can include the only needed for the wifi?

Thanks!

Alexey Charkov

unread,
Jun 14, 2023, 3:38:31 AM6/14/23
to vt8500-wm8505...@googlegroups.com
On Wed, Jun 14, 2023 at 11:11 AM k-lai rivera <jumpan...@gmail.com> wrote:
>
> ok great one part of the gpio solution its there (Also I dont enable CONFIG_GPIO_SYSFS ) . Now the dmesg shows "new high-speed .... using ehci-platform" but no specific driver. I dont compile modules from the kernel only the boot image. I need modules or can include the only needed for the wifi?

Using modules is often less of a headache, because early boot-time
sequencing can mishandle some subtle dependencies between drivers
resulting in probe errors that are hard to debug. In this case however
you can probably compile the required drivers directly into the kernel
image, because the WiFi adapter will only come online (and become
visible to the kernel) after you trigger the GPIO (which is much later
than all the dependencies get probed).

You will also need required firmware files to be available in /lib for
the driver to load. Just install your distro's linux-firmware package
or equivalent, or even simply copy the full /lib/firmware folder over
from your other Linux box.

Best,
Alexey

k-lai rivera

unread,
Jun 14, 2023, 2:11:20 PM6/14/23
to VT8500/WM8505 Linux Kernel

great thanks ! works! 

I read other post , no audio for wm8650 ? and turn off  or dim backlight?

Alexey Charkov

unread,
Jun 14, 2023, 9:58:23 PM6/14/23
to vt8500-wm8505...@googlegroups.com

On Wed, 14 Jun 2023 at 22:11, k-lai rivera <jumpan...@gmail.com> wrote:

great thanks ! works! 

Excellent!

I read other post , no audio for wm8650 ? and turn off  or dim backlight?

No audio. Backlight control should work though, if you enabled the PWM driver.

Best,
Alexey

k-lai rivera

unread,
Jun 14, 2023, 11:42:47 PM6/14/23
to VT8500/WM8505 Linux Kernel
ok, I enable PWM some generic in kernel and dtb ,  but sys/class/backlight/ its empty . Also in sys/class/pwm has "pwmchip0" . but I dont find how control that.   or its with gpio ? 

Alexey Charkov

unread,
Jun 15, 2023, 12:37:07 AM6/15/23
to vt8500-wm8505...@googlegroups.com
On Thu, 15 Jun 2023 at 07:42, k-lai rivera <jumpan...@gmail.com> wrote:
ok, I enable PWM some generic in kernel and dtb ,  but sys/class/backlight/ its empty . Also in sys/class/pwm has "pwmchip0" . but I dont find how control that.   or its with gpio ? 

Mind posting your .config file?

Best,
Alexey

k-lai rivera

unread,
Jun 15, 2023, 9:49:14 AM6/15/23
to VT8500/WM8505 Linux Kernel
just in case  the .dtsi
.config
wm8650.dtsi

Alexey Charkov

unread,
Jun 15, 2023, 10:52:26 AM6/15/23
to vt8500-wm8505...@googlegroups.com
Looks like the PWM backlight node has never been added in the dts for
8650-based devices.

Try inserting the following into wm8650-mid.dts (copied verbatim from
wm8850-w70v2.dts):
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;

brightness-levels = <0 40 60 80 100 130 190 255>;
default-brightness-level = <5>;
};
> --
> You received this message because you are subscribed to the Google Groups "VT8500/WM8505 Linux Kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vt8500-wm8505-linux...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/vt8500-wm8505-linux-kernel/897076a4-1370-4b76-acd6-eb32c9f17ea0n%40googlegroups.com.

k-lai rivera

unread,
Jun 15, 2023, 12:45:14 PM6/15/23
to VT8500/WM8505 Linux Kernel

perfect , works! copied all and change the model name .  

Thanks Alexey!
Reply all
Reply to author
Forward
0 new messages