Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Motorcomm YT6801 Ethernet Controller

Featured Replies

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

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)

 

  • Author

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.

 

  • Author

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.

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.