Xorcist Posted September 8 Posted September 8 (edited) So I recently loaded the x86 Armbian 6.12 - Ubuntu 24.04 (Noble) server image onto a GEEKOM Air12 Lite N150 (wow that was a mouthful), only to find the ethernet port missing... turns out the Motorcomm YT6801 Ethernet Controller it uses is not in the mainline distro and has to be built manually. I have so far referenced the following resources about this: https://github.com/albertogviana/YT6801 https://github.com/dante1613/Motorcomm-YT6801 https://forums.linuxmint.com/viewtopic.php?t=438301 https://deb.tuxedocomputers.com/ubuntu/pool/main/t/tuxedo-yt6801/ and run the gamut for two days straight without much luck. First the linux headers were not installed, so I installed them through armbian-config, only to find out they were still not available because potentially the headers are for 6.12.41 are not available? https://mirror.twds.com.tw/armbian-apt/pool/main/l/linux-headers-current-x86/ (I don't see them listed here, I do see a 6.12.32 and a 6.12.44) Then I rolled back the Kernel to 6.12.32 and tried to install the headers again them through armbian-config, only to find out they were still not available?!?!? So I installed them by downloading the *.deb directly and manually installed them. Now I can get the latest tuxedo driver (tuxedo-yt6801_1.0.30tux4_all.deb) to build and install, but the module will not load. journalctl | grep "yt6801" shows .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time here is the output from the install: root@Armbian:~# sudo dpkg -i tuxedo-yt6801_1.0.30tux4_all.deb (Reading database ... 79866 files and directories currently installed.) Preparing to unpack tuxedo-yt6801_1.0.30tux4_all.deb ... Module tuxedo-yt6801-1.0.30tux4 for kernel 6.12.32-current-x86 (x86_64). Before uninstall, this module version was ACTIVE on this kernel. yt6801.ko: - Uninstallation - Deleting from: /lib/modules/6.12.32-current-x86/updates/dkms/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod......... Deleting module tuxedo-yt6801-1.0.30tux4 completely from the DKMS tree. (Re)load module if possible Unpacking tuxedo-yt6801 (1.0.30tux4) over (1.0.30tux4) ... Setting up tuxedo-yt6801 (1.0.30tux4) ... Loading new tuxedo-yt6801-1.0.30tux4 DKMS files... Building for 6.12.32-current-x86 Building initial module for 6.12.32-current-x86 Done. yt6801.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/6.12.32-current-x86/updates/dkms/ depmod... (Re)load module if possible Warning: Could not load module yt6801. Any clues on what I might be missing? I'm not a hardcore Linux pro by any means, but I'm not a novice either. Any help would be much appreciated. Edited September 8 by Xorcist Added Details 0 Quote
Igor Posted September 9 Posted September 9 13 hours ago, Xorcist said: Any clues on what I might be missing? tl;dr; You need to fix the driver code similar we do it here https://github.com/armbian/build/tree/main/patch/misc I tried this: https://github.com/albertogviana/YT6801 (but tuxedo v1.0.30 might have this already fixed) https://paste.armbian.com/xeraretaxu.diff I fix the most obvious errors, but don't have time to deal with this code. 13 hours ago, Xorcist said: Then I rolled back the Kernel to 6.12.32 and tried to install the headers again them through armbian-config Some intermediate or old kernels might be missing matched headers. They are present at latest kernel (tested). BTW, it works for me: khadas-mind:Downloads:% sudo dpkg -i tuxedo-yt6801_1.0.30tux4_all.deb Selecting previously unselected package tuxedo-yt6801. (Reading database ... 158138 files and directories currently installed.) Preparing to unpack tuxedo-yt6801_1.0.30tux4_all.deb ... Unpacking tuxedo-yt6801 (1.0.30tux4) ... Setting up tuxedo-yt6801 (1.0.30tux4) ... Loading new tuxedo-yt6801-1.0.30tux4 DKMS files... Building for 6.12.44-current-x86 Building initial module for 6.12.44-current-x86 Done. yt6801.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/6.12.44-current-x86/updates/dkms/ depmod... (Re)load module if possible khadas-mind:Downloads:% modinfo yt6801 filename: /lib/modules/6.12.44-current-x86/updates/dkms/yt6801.ko license: GPL license: GPL author: Motorcomm Electronic Tech. Co., Ltd. version: 1.0.30 description: Motorcomm YT6801 Gigabit Ethernet Driver srcversion: 13DED66BAFB05DCB4D65DE6 alias: pci:v00001F0Ad00006801sv*sd*bc*sc*i* depends: name: yt6801 retpoline: Y vermagic: 6.12.44-current-x86 SMP preempt mod_unload modversions parm: debug:FUXI ethernet debug level (0=none,...,16=all) (int) 0 Quote
Xorcist Posted September 9 Author Posted September 9 Oh are you saying that the Tuxedo v1.0.30 package works with the latest 6.12.44 headers? I did not try moving ahead to the latest as I didn't see an option to swap to that kernel in armbian-config (only to go back to 6.12.32). My current kernel is 6.12.41 (default install). I assume I can manually update via: sudo apt-get update && apt upgrade -y and then install the headers afterwards. 0 Quote
Igor Posted September 9 Posted September 9 46 minutes ago, Xorcist said: I assume I can manually update via: Yes, exactly. 0 Quote
Xorcist Posted 17 hours ago Author Posted 17 hours ago Tried for several days to get this working with the latest kernel and headers (never got it working and always got the same linkonce error). So I just abandoned the idea of Armbian for x86 and installed Debian which did work, perhaps when the Motorcomm YT6801 driver hits mainline I'll give it another try. 0 Quote
Igor Posted 2 hours ago Posted 2 hours ago I think the core problem is that headers were compiled with Ubuntu compiler / userspace and you try to use it on Debian. I used this on Ubuntu, which is the reason why it worked. We are aware of this problem - headers should be distro specific. Which adds complexity on our side ... 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.