Kernel 3.18-r5 – Bigger than -rc4..

Just installed Kernel 3.18-rc5 on the test system, and the latest NVIDIA drivers – 340.58 and 346.16 – and VMware 10.0.3 – with the vmnet patch – compile and load OK..

$ uname -a
Linux rg6830l 3.18.0-rc5 #1 SMP PREEMPT Sun Nov 16 23:23:41 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

Details can be found here:

Robert Gadsdon.   November 17, 2014.

ARM – Odroid U3 with Kernel 3.18-rc4 – Better, but still Slow…

Just installed the version of kernel 3.18-rc4 on the Odroid U3, and this time it completed the boot, but still had a ‘tombstone':

cam-power-domain: Power-on latency exceeded, new value 413333 ns
cam-power-domain: Power-on latency exceeded, new value 564291 ns
Unable to handle kernel NULL pointer dereference at virtual address 00000010
pgd = ee328000
[00000010] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in: exynosdrm(+) snd_pcm snd_timer drm_kms_helper snd drm ipv6
CPU: 3 PID: 2386 Comm: systemd-udevd Not tainted 3.18.0-rc4 #1
task: edaaa640 ti: ed78a000 task.ti: ed78a000
PC is at g2d_fini_cmdlist+0x2c/0x68 [exynosdrm]
LR is at g2d_fini_cmdlist+0x1c/0x68 [exynosdrm]
pc : [<bf2c6bc0>] lr : [<bf2c6bb0>] psr: 800e0053
sp : ed78bbd8 ip : ed746f94 fp : ed78bbf4
systemd-journald[1526]: Received request to flush runtime journal from PID 1
r10: ed78a008 r9 : 00000000 r8 : 00000000
r7 : bf2d6abc r6 : ee27fc00 r5 : bf2d7e14 r4 : ed746f10
r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000
Flags: Nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 6e32804a DAC: 00000015
Process systemd-udevd (pid: 2386, stack limit = 0xed78a240)
Stack: (0xed78bbd8 to 0xed78c000)
bbc0: ed746f10 bf2d7e14
Fedora release 21 (Twenty One)
Kernel 3.18.0-rc4 on an armv7l (ttySAC1)
$ uname -a
Linux rgodroid 3.18.0-rc4 #1 SMP PREEMPT Sun Nov 9 23:50:46 EST 2014 armv7l armv7l armv7l GNU/Linux

The other annoyance (same as with -rc3) is that the CPU fan is running constantly…

As this is the mainline kernel version, some of the graphics drivers etc. are still work-in-progress..    I have tested with vnc, and that works OK with KDE, but performance is still very sluggish..

Odroid U3 KDE Screenshot

Odroid U3 KDE Screenshot

Robert Gadsdon.   November 9, 2014..

Kernel 3.18-rc4 – Better than -rc3..

Just installed Kernel 3.18-rc4 on the test system, and this time it booted OK, and without any ‘tombstones’…

Further details here:

$ uname -a 
Linux rg6830l 3.18.0-rc4 #1 SMP PREEMPT Sun Nov 9 21:27:52 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

VMware 10.0.3 – with the vmnet patch, and NVIDIA 340.58 both install and load OK.

Robert Gadsdon.   November 9, 2014.

ARM – Odroid Kernel 3.17/3.18 USB Solution..

I had been trying to get USB working with 3.17 and 3.18-rc kernels on my Odroid U3 for some time, and had been looking for fixes in the source code.

It turned out that I was looking in the wrong place – and a clue to this was the lack of any mention of the problem on the Linux Kernel Mailing List..

It seems that the ‘original’ version of U-Boot on the Odroid U3 was the culprit, and updating this to a newer version fixed the problem:

# uname -a
Linux localhost 3.18.0-rc3 #3 SMP PREEMPT Sat Nov 8 01:03:47 EST 2014 armv7l armv7l armv7l GNU/Linux
# lsusb
Bus 001 Device 003: ID 0424:3503 Standard Microsystems Corp.
Bus 001 Device 002: ID 0424:9730 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And – this means that networking works as well, as this is connected via the USB bus:

# ifup eth0
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
smsc95xx 1-2:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1

I found the ‘new’ U-Boot at:

Full instructions can be found in the u-boot/doc/README.odroid file..   This newer U-Boot (u-boot-dtb.bin) also has support for loading both zImage and xxx.dtb files at boot time..

The examples above were using the version of 3.18-rc3, but this did not boot cleanly, and fell back to an emergency shell..     I will probably go back to -rc2 for the time being, as I did manage to get this version to boot OK..     It should be mentioned that none of these should be considered as ‘stable’, and boot results – on my system – were not always consistent..

Thanks are due to tobiasjakobi and prahal for all the work they have put in with the Odroid and newer kernels..

Robert Gadsdon.   November 8, 2014.

NVIDIA – Driver 340.58 – No Patch Needed..

Tested the latest ‘main’ release of the NVIDIA driver – 340.58 – and it compiled/loaded with Kernel 3.18-rc3 without any patches..    Further testing not possible, as 3.18-rc3 is still not stable on my systems..

More info at:

Robert Gadsdon.  November 5, 2014.

Kernel 3.18-rc3 – Boots OK with ‘new’ .config..

Tested Kernel 3.18-rc3 and found that it would not boot with the .config that worked OK with -rc1..    Re-created a new .config from scratch, and now my temporary test system (HP6830 laptop) boots OK, but overall performance still seems rather sluggish..

# uname -a
Linux rg6830l 3.18.0-rc3 #1 SMP PREEMPT Mon Nov 3 18:19:06 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

Tested with VMware 10.0.3 (with the vmnet patch) and NVIDIA 340.46 (with the nv-drm.c patch) and both compile and load OK.

Robert Gadsdon.   November 3, 2014  

Kernel 3.18-rc2 – Best to Wait for -rc3?

An unusual experience with testing Kernel 3.18-rc2, as it actually failed to boot on my test system!     Config was the same as the one that booted OK on -rc1, but this time the system can’t find the root disk….

[    OK   ]  Reached target Basic System
[ ***    ]  (1 of 3) A start job is running for dev-disk-by\x2duuid-...........................................................
<< HANG >>

Tried on another test system (VMware guest) and the OS booted OK, then just got a blank screen after # startx, and non-responsive system..

So…   I’ll just wait for -rc3!

Robert Gadsdon.    October 28, 2014.

Kernel 3.18-rc1 – NVIDIA Fix..

Thanks to juston_li, there is a one-line fix to enable the latest NVIDIA drivers to compile with Kernel 3.18-rc1


The fix there is for Beta version 343.22, but I applied it to main version 340.46, as follows:

In NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c , at line 19, change

#if defined(NV_DRM_AVAILABLE)

#include <drm/drmP.h>


#if defined(NV_DRM_AVAILABLE)

#include <drm/drmP.h>
#include <drm/drm_gem.h>

Then re-compile..

Robert Gadsdon.  October 20, 2014.

Kernel 3.18-rc1 – VMware OK, NVIDIA Not..

Just installed Kernel 3.18-rc1 – released earlier than originally planned – on the test system:

$ uname -a
Linux rg6830l 3.18.0-rc1 #1 SMP PREEMPT Mon Oct 20 10:23:13 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Brief details are here:

VMware 10.0.3 (with the vmnet patch..) installs and runs OK, but the latest current NVIDIA (340.46) fails to compile:

/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:78:99: warning: (near initialization for ‘nv_obj’) [enabled by default]
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:79:25: error: dereferencing pointer to incomplete type
 int page_count = obj->size >> PAGE_SHIFT;
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: In function ‘nv_gem_prime_vmap’:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:88:99: warning: initialization from incompatible pointer type [enabled by default]
 struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:88:99: warning: (near initialization for ‘nv_obj’) [enabled by default]
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:89:25: error: dereferencing pointer to incomplete type
 int page_count = obj->size >> PAGE_SHIFT;
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: At top level:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:107:13: error: ‘drm_gem_mmap’ undeclared here (not in a function)
 .mmap = drm_gem_mmap,
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: In function ‘nv_alloc_os_descriptor_handle’:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:204:5: error: implicit declaration of function ‘drm_gem_private_object_init’ [-Werror=implicit-function-declaration]
 drm_gem_private_object_init(nvl->drm, &nv_obj->base, size);
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:206:5: error: implicit declaration of function ‘drm_gem_handle_create’ [-Werror=implicit-function-declaration]
 ret = drm_gem_handle_create(file_priv, &nv_obj->base, handle);
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:213:5: error: implicit declaration of function ‘drm_gem_object_unreference_unlocked’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[3]: *** [/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.o] Error 1
make[2]: *** [_module_/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel] Error 2
make[2]: Leaving directory `/usr/src/linux-3.18-rc1'
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-3.18-rc1'
nvidia.ko failed to build!
make: *** [nvidia.ko] Error 1

More research needed….

Robert Gadsdon.   October 20, 2014..

ARM – Odroid U2 – 3.17 Boot, but no USB..

Tried the latest 3.17 kernel with my Odroid U2, and managed to get it to boot successfully, but USB still doesn’t work, which is a show-stopper, as the Ethernet adapter is a USB-connected device..

Start with # make exynos_defconfig, and then select arch/arm/boot/dts/exynos4412-odroidu3.dtb when merging with zImage, etc…

[ 0.000000] Booting Linux on physical CPU 0xa00
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.17.0 (root@rgodroid) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) ) #1 SMP PREEMPT Fri Oct 10 01:08:29 EDT 2014
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Hardkernel ODROID-U3 board based on Exynos4412
Fedora release 20 (Heisenbug)
Kernel 3.17.0 on an armv7l (ttySAC1)
# uname -a
Linux rgodroid 3.17.0 #1 SMP PREEMPT Fri Oct 10 01:08:29 EDT 2014 armv7l armv7l armv7l GNU/Linux

USB failed with:

[ 0.974376] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.977922] ehci-exynos: EHCI EXYNOS driver
[ 0.981366] exynos-ehci 12580000.ehci: EHCI Host Controller
[ 0.985016] exynos-ehci 12580000.ehci: new USB bus registered, assigned bus number 1
[ 0.994560] exynos-ehci 12580000.ehci: can't setup: -110
[ 0.995395] exynos-ehci 12580000.ehci: USB bus 1 deregistered
[ 0.999797] exynos-ehci 12580000.ehci: Failed to add USB HCD
[ 1.004150] exynos-ehci: probe of 12580000.ehci failed with error -110

As this is standard code now, the fix should be easier to investigate, given time.!

Robert Gadsdon.   October 10, 2014.