USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post Reply
Nakda
Posts: 1
Joined: Wed Apr 08, 2020 5:00 pm
languages_spoken: english
ODROIDs: Odroid-XU
Has thanked: 0
Been thanked: 3 times
Contact:

USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by Nakda »

Hello!

Proud owner of an Odroid-XU, I wanted to give it a new life by upgrading the Kernel. Since it's an EOL product here, I gave the stable version of Linux Kernel a try.

I managed to build the Kernel myself, and I was running 5.4.10 for weeks/months now: it was very stable, with Debian Buster running on top of it, but USB 3.0 was not working properly. I wanted to use my Gigabit Ethernet USB 3.0 adapter so I recently updated the Kernel to 5.6.2 (latest version to date), but USB 3.0 still not working.

I noticed the Archlinux image is going with the mainline Kernel, and reports issues with 3.0 USB and HDMI output (I'm running in headless mode so didn't notice HDMI issues myself) (check notes at the top of installation tab: https://archlinuxarm.org/platforms/armv ... /odroid-xu).

I know the Odroid-XU is in EOL state, but I just hope someone could lead me to the good direction because I don't know where to look to solve this issue, nor if it's somehow easy to fix.

Additional Notes

For those interested, or if it can help in guiding me through the issue, here are the steps I followed to build my Kernel image (I read a lot of guides for other products and compiled what I thought was relevant):
- Download latest stable Kernel image and decompress the archive (wget/tar)
- Browse to decompressed directory and create kernel config (make exynos_defconfig)
- Tweak configuration (CONFIG_DEBUG_INFO=n, CONFIG_UEVENT_HELPER=y, enable CIFS/SMB)
- Build (make -j5 zImage dtbs modules)
- Install kernel image (cp arch/arm/boot/zImage /media/boot)
- Install device tree binary (cp arch/arm/boot/dts/*.dtb /media/boot/dts)
- Install modules: (make modules_install)
- Copy .config to /boot for initramfs creation (cp .config /boot/config-5.6.2)
- Create initramfs: update-initramfs -c -k 5.6.2
- Create uInitrd: mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n uInitrd -d /boot/initrd.img-5.6.2 /boot/uInitrd-5.6.2
- Install new uInitrd: cp /boot/uInitrd-5.6.2 /media/boot/uInitrd
- Edit boot.ini to load dtb file (required for newer kernels): setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; fatload mmc 0:1 0x46000000 dts/exynos5410-odroidxu.dtb; bootz 0x40008000 0x42000000 0x46000000"
- Edit boot.ini to point to rootfs using path instead of UUID (common bug related to UUI) root=/dev/mmcblk0p2
- Save & reboot: sync && reboot
These users thanked the author Nakda for the post (total 3):
Luke.go (Thu Apr 09, 2020 10:57 am) • makrisj (Sat Apr 18, 2020 1:53 pm) • doggisbag (Sat Sep 12, 2020 7:30 am)

makrisj
Posts: 5
Joined: Sat Apr 18, 2020 1:49 pm
languages_spoken: English, Greek
ODROIDs: Odroid XU+E, Odroid C1
Has thanked: 5 times
Been thanked: 0
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by makrisj »

Same here. I only wish I could have some kernel modules matched for USB3. New USB3 capable boards cost an arm and a leg and I have already paid once for a USB3 board that didn't last because of the poor big.little implementation.
If anyone can help getting a new kernel into the Odroid-XU board I would be grateful.
I've been trying to use the board into a modestly fresh environment for years.

All I want is USB3 zero-copy buffers reliably and some security patching.

igorpec
Posts: 744
Joined: Sat Dec 12, 2015 4:34 pm
languages_spoken: english,german,slovene
ODROIDs: XU4, HC1, C2, C1+
Has thanked: 38 times
Been thanked: 108 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by igorpec »

> All I want is USB3 zero-copy buffers reliably and some security patching.
> I know the Odroid-XU is in EOL state,

Not even XU4 is there yet - working reliable on 5.4.y / 5.6.y
ARMBIAN
Linux for ARM development boards

Download latest images for Odroids | Build them from sources | Donate to support development

doggisbag
Posts: 23
Joined: Wed Nov 20, 2019 7:46 am
languages_spoken: english, spanish
ODROIDs: 2x Odroid-XU
Has thanked: 21 times
Been thanked: 6 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by doggisbag »

Hi Nakda, thank for your guide!

I want to know, did you build up your image onto a microSD or eMMC?

doggisbag
Posts: 23
Joined: Wed Nov 20, 2019 7:46 am
languages_spoken: english, spanish
ODROIDs: 2x Odroid-XU
Has thanked: 21 times
Been thanked: 6 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by doggisbag »

Now the USB 3.0 is working. You should check this patch. I can confirm that's working on my XU!
These users thanked the author doggisbag for the post:
odroid (Fri Oct 16, 2020 10:04 am)

Nuems
Posts: 176
Joined: Thu Sep 19, 2013 3:50 am
languages_spoken: english, german
ODROIDs: xu, c1, n2
Has thanked: 3 times
Been thanked: 16 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by Nuems »

That's amazing news! Before I start my compiler: Is this specific for a certain kernel (e.g. 5.6.2) or should it work with any recent kernel? Currently, I'm on the Arch mainline kernel (5.8.0-1-ARCH).

doggisbag
Posts: 23
Joined: Wed Nov 20, 2019 7:46 am
languages_spoken: english, spanish
ODROIDs: 2x Odroid-XU
Has thanked: 21 times
Been thanked: 6 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by doggisbag »

Nuems wrote:
Tue Oct 20, 2020 4:29 am
That's amazing news! Before I start my compiler: Is this specific for a certain kernel (e.g. 5.6.2) or should it work with any recent kernel? Currently, I'm on the Arch mainline kernel (5.8.0-1-ARCH).
The issue was due to missing/wrong definitions on the device tree that defines the hardware capabilities/devices for enabling linux drivers to communicate with. So resuming, it should be independent of the kernel release, but keep in mind that the patch is still not upstreamed to mainline yet, so you'll need to manually modify the files on it and then compile the device tree (i.e. through linux git on desktop machine modify the files and then follow this steps.

Anyways, to omit all those steps, i'll upload the already patched device tree blob. You'll need to extract the .7z and then copy dtb file on boot partition (in my arch case, it was /boot/dtbs).
Attachments
exynos5410-odroidxu.7z
(5.15 KiB) Downloaded 6 times
These users thanked the author doggisbag for the post:
Nuems (Tue Oct 20, 2020 10:22 pm)

Nuems
Posts: 176
Joined: Thu Sep 19, 2013 3:50 am
languages_spoken: english, german
ODROIDs: xu, c1, n2
Has thanked: 3 times
Been thanked: 16 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by Nuems »

Thanks so much!
My initial tests of the USB3 port are quite promising - USB3 devices (HDDs, Gigabit ethernet adapter) are working as expected so far. Of course, I can't say anything about longterm stability yet, however, here's a first quick and dirty test:

Code: Select all

root@Odroid-XU:/home/thomas# dd if=/dev/zero of=/media/UnifiedStorage/testdatei bs=1M count=10240 conv=fsync status=progress
10726932480 bytes (11 GB, 10 GiB) copied, 82 s, 131 MB/s 
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 83.2006 s, 129 MB/s
Good enough for me :D

I don't have a linux usecase for device mode and unfortunately, the OTG cable Hardkernel sold at the time doesn't trigger switching modes in this new setup (as far my testing has revealed so far).

doggisbag
Posts: 23
Joined: Wed Nov 20, 2019 7:46 am
languages_spoken: english, spanish
ODROIDs: 2x Odroid-XU
Has thanked: 21 times
Been thanked: 6 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by doggisbag »

Good to hear! I think it should work fine while it's not connected to a power hungry devices that usually causes reliability issues. Now, the next mission is to able HDMI/GPU drivers. I would try to follow this post and see how it results. Also, the Power management is not properly set, so that's another TODO.

Nuems
Posts: 176
Joined: Thu Sep 19, 2013 3:50 am
languages_spoken: english, german
ODROIDs: xu, c1, n2
Has thanked: 3 times
Been thanked: 16 times
Contact:

Re: USB not working properly after upgrade to latest Linux Kernel (5.6.2)

Post by Nuems »

HDMI might be possible - iirc it worked with HK's kernels 3.13/3.14, so that might be a starting point. GPU - frankly, I don't have any hope for that. PowerVR has been a pain in the back of the open source community for years and even though every couple of years rumours appear about Imagination Technology looking for developers to create linux drivers, those drivers have never materialized and neither has the community effort years ago. Worse, afaik there has never been an accelerated driver for X for this GPU at all - not even closed source. iirc, the folks over at beagleboard.org had a closed source linux driver for that GPU on the Beagleboard X15 (but just framebuffer, not X). I don't know whether they have ever managed (or even tried) to run Wayland on top of that

Post Reply

Return to “Issues”

Who is online

Users browsing this forum: No registered users and 1 guest