Jump to content

Recommended Posts

Posted (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 by Xorcist
Added Details
Posted
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)

 

Posted

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.

 

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines