WIP Support for LinkStar H68K-RK3568

Edited 3 June 2025 in total: An Update.

Basic support images and kmods for the LinkStar H68K-1432v1 is now available for testing.

Wifi is working and is pretty speedy using the 802.11 AX subprotocol.
All four ethernet ports are also working, as are the USB A ports (Type-C hasn't been tested yet).

Code is at: https://github.com/TahomaSoft/openwrt-openwrt in the default branch of Beta_0.0.2.

Images are at:
https://tahomasoft.com/OpenWRT/LinkStar/images/openwrt-rockchip-armv8-seeed_linkstar-h68k-1432v1-squashfs-sysupgrade.img.gz

and

https://tahomasoft.com/OpenWRT/LinkStar/images/openwrt-rockchip-armv8-seeed_linkstar-h68k-1432v1-ext4-sysupgrade.img.gz

Kmod packages are at https://apk.tahomasoft.com

Please test and let me know how it goes for you. The plan is to submit this material for integration into the mainline of Openwrt via pull request.

Thanks!

1 Like

Hey @TahomaSoft, first thank you so much for working on this! I have an H68K-V2 I've been messing with for a few months, and been following the other thread with interest. I was excited about the hardware, but have run into problems with all the firmware options I've tried (seeed's factory image, an armbian community build, SD, eMMC...) so I'm hopeful this project will help us all out.

I flashed the squashfs image onto an SD, and it boots as expected. eth0 and eth1 work (haven't tried the others yet). Wifi is proving to be a challenge, which is why I'm writing — the onboard adapter is a Mediatek M7921E. OpenWRT's wifi-related commands show no wireless devices present, but it does appear in lsusb. There's a kmod-mt7921e package available; installed that & rebooted, still no dice. modprobe and insmod throw the error no module folders for kernel version 4.19.245-android found and Failed to find the folder holding the modules. Does this ring a bell / any ideas? You can work with kernel modules with this build on a V1? lsmod also runs with no output. My dmesg output is here. Let me know if I can assist more in debugging, thanks!

Thanks for your interest! What squashfs image are you running? One of mine, @croniccorey's, a Seeed version,...?

Ah yes sorry - the first one linked here in this topic, your version. I actually haven’t tried corey’s, sounded like this would be more current. Cheers

Thanks Larry, that helps!

Yes, I can load kmods; I have build them and make them available with the corresponding image and are on my website.

I'm puzzled by the kernel version you are seeing as listed in your post; I've been using either 5.x or 6.x kernels.

If you have the chance, can you please post a walkthrough of getting and using the image you have? That will help me in assisting. Feel free to DM me if you prefer.

Thanks,

Erik

P.S. I wonder if your machine is loading one of my U-boot loaders (say from the micro SD card) but then using it to boot the original kernel image as shipped with the device on the embedded MMC? I get that issue a lot, but in reverse.

Good call on checking eMMC and the boot loader — I must have had some cruft on there from previous iterations, interacting with the SD installation. :man_shrugging: I've now removed the SD card, and used the the tools from Seeed's wiki to wipe and re-flash the eMMC with their stock bootloader file + your openwrt build. Things look a lot better now: more eth interfaces, lsmod and friends working properly. If this also isn't right and I should be using a different boot loader file, let me know!

Still no luck with wifi & not sure where to go from here. There's the built-in Mediatek M7921E and a Realtek RTL8188 adapter plugged into USB.

For the Mediatek, I can install kmod-mt7921e and it shows up in lsmod, but isn't otherwise usable or showing as being loaded, eg. in dmesg or iw.

On the RTL8188, I can install rtl8188fu-firmware but again, doesn't seem like the system's picking it up as a wireless device. Based on searches and having used the dongle on a Pi, we might need kmod-rtlwifi-usb and/or kmod-rtl8xxxu? They aren't available in the apk repos, alas.. I see them in the snapshot dir for the 6.6.92 modules, but these files won't install (different hashes, this system has 6.6.92~2566c3630993e62c7c1b328c1c9c70c7). Any suggestions? Possible to build & add them to your repo?

Thanks for the update.

I can totally build those kmods and pair them with a fresh image build. I'll let you know when I have that available.

Try grabbing the pcitools (or pciutil/pciutils, can't recall which it is right now) mod and do lspci please and let me know what you see. On my system, the mt-7921 WiFi card is on the PCI express bus.

Regarding the RTL8188, I'm not sure I have that particular USB Wifi gizmo, but I have others that I can try and might help provide some insight.
As far as using the Seeed bootloader, I think that is fine for now.

Regards,

Erik

Cool thanks, I've updated the gist with today's lspci, lsusb and dmesg output. Looks like the mt7921 is on USB here, but also only appearing as bluetooth & not 802.11 for whatever reason. Getting both adapters working would be great, but I'd be happy with either one online.

Hi, I have put up a fresh build, images and kmods, on my tahomasoft.com website with the same links.

I've build more kmods of MT7921 variants; I think the "U" version is for USB and the one you need.

Please let me know how you make out!

Super, appreciate the quick update. So now I have the rtl8188 usb nub working well as a wireless client — it just took an apk add rtl8188fu-firmware kmod-rtl8xxxu and it shows up in iw list and such.

The mediatek is being stubborn, still. This would be handy to figure out as it's the internal/factory device.. I did install the u kmod variant, good call on that. In dmesg:

[   10.324225] usbcore: registered new interface driver rtl8xxxu
[   10.329876] usbcore: registered new interface driver mt7921u

More RTL-related stuff:

[    9.189798] usb 1-1: RTL8188FU rev B (SMIC) romver 0, 1T1R, TX queues 2, WiFi=1, BT=0, GPS=0, HI PA=0
[    9.190622] usb 1-1: RTL8188FU MAC: 90:de:80:9d:df:7e
[    9.191067] usb 1-1: rtl8xxxu: Loading firmware rtlwifi/rtl8188fufw.bin
[   10.324225] usbcore: registered new interface driver rtl8xxxu

But nothing further about the mt79 and it doesn't show in iw list, & I'm not sure what else might be needed. Here's relevant lsmod info about it:

cfg80211              339968  5 mt7921_common,rtl8xxxu,mt76_connac_lib,mt76,mac80211
mac80211              667648  5 mt7921_common,rtl8xxxu,mt792x_lib,mt76_connac_lib,mt76
mt76                   73728  6 mt7921u,mt7921_common,mt792x_usb,mt792x_lib,mt76_usb,mt76_connac_lib
mt76_connac_lib        49152  3 mt7921u,mt7921_common,mt792x_lib
mt76_usb               20480  2 mt7921u,mt792x_usb
mt7921_common          53248  1 mt7921u
mt7921u                12288  0 
mt792x_lib             32768  3 mt7921u,mt7921_common,mt792x_usb
mt792x_usb             12288  1 mt7921u

lsusb -v still only show bluetooth info for this adapter and no 802.11 business. (Edit: I know this device can work because it worked on the stock firmware)

Just for some fun context, I picked up this gadget as a super-compact addition to my DJ setup: enough eth ports to plug into CDJs + extra, USB for the mixer, a decent processor to run custom software I'm working on + audio-reactive WLED lighting effects, and wifi for a portable AP or uplink. If I can get the firmware part stable I think it'll be very handy!

Hi, thanks for the update, and particularly the end use case for the device. Sounds like fun!

I've been finding the MT7921 to be finicky too; in my case also compunded because I've opened the cases on both of my V1's (one I completely took apart to categorize and photograph, the other just enough to plug into the UART to monitor the boot).

I think the issue with your MT7921u and my MT7921e is less with the DTS and more with system configuration. Part of the reason I think that is because it is showing up in your lsusb and my lspci. I'm confident we can get yours working with some more effort.

I've had some success with mine when fooling around loading the kmods for it; in particular, the firmware one. Sometimes modprobe or insmod get get it loaded, other times not. Try some module load experiments, and keep an eye on the dmesg log for a note about loading the firmware. When that showed up on mine, things worked. Try installing LUCI too, and play with module loading. It seems once it gets loaded right, the config then gets written and subsequent boots aren't so much an issue.

I'll be doing something similar with mine; I'm going away for a few days and won't be able to experiment much while gone, but I'll be checking here and happy to help as I can before returning home.

On further digging, the plot thickens:

  • The mediatek in lsusb has ID 13d3:3563, which is a bluetooth device; that explains the lsusb output showing only bluetooth.
  • The wireless section on product page shows "Dual-band 2.4G/5G Wi-Fi 6" and "M7921E module."
  • Page 16 of the schematic shows the "PCIe WIFI6/BT Module"
  • The M7921E module info pdf shows interface as "PCIE for WLAN; USB for Bluetooth."

So right, it's not showing up under lspci at all:

0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
	Kernel driver in use: pcieport
lspci: Unable to load libkmod resources: error -2
0001:10:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
	Kernel driver in use: pcieport
0001:11:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
	Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
0002:20:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
	Kernel driver in use: pcieport
0002:21:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
	Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller

I wonder if Unable to load libkmod resources indicates there might be as-yet-undiscovered devices lurking, that it can't load for some reason. I'm removing mt7921u in favor of mt7921e, and will keep digging around for ideas on this pcie line of inquiry. To be continued...

Edit: just checking, am I supposed to have a /boot directory / mount? Because there isn't one, and I've seen it mentioned in OpenWRT docs + threads. Noting in case that's related

Edit 2: none of this is urgent, so no hurry getting back here while traveling or anything :slight_smile:

If you've had your device apart you may want to open it again and confirm that the ribbon cable for the Wifi/IO is securely inserted at both ends. It sounds like there may be an issue with the PCIe pins of the cable which would cause the WiFi portion of the MT7921E M.2 device to not be recognized.

Thanks!

You are right, I should.

The libkmod error is one I get too; it seems to be a nuisance complaint, rather than causing actual problems.

Regarding the /boot, I don't think so on an ARM machine with SquashFS. I only see that directory on my x86 linux desktops and servers.

I'm starting back at it. One queston for you @glowland :how are you powering your device? Via the barrel power, or USB-C? That seems to be making a difference on my machine; USB-C doesn't seem to always deliver enough power to bring up all the devices.

Here's what my / looks like on the LinkStar:
root@OpenWrt:/# ls
bin lib overlay root sys var
dev lib64 proc run tmp www
etc mnt rom sbin usr

Hey, ok — I had to put this thing aside for a bit, it was getting increasingly maddening. I flashed the default openwrt f/w (downloaded from seeed's v2 wiki page) onto SD to gather some comparative intel on the wifi adapter, which I knew it had worked before, so I wanted to check the module setup & logs on a stock install. [Tangent: booting from the SD bricked the thing again, so flashed to eMMC a couple times before it finally came up. I don't know]

Anyway! Here are the logs I managed to grab before it crashed and stopped booting. It does have the wifi radio present and functional as a radio0 device, using mt7921e, so it seemed we're on the right track but something important's not quite there. The libkmod message does appear to be a distraction / not relevant.

I'm powering with USB-C, it did occur to me the instability could be a power issue early. Have tried different power supplies / adapters, including a higher-current one I use for a Pi 5. Figured that should be enough, and there was no change in behavior; I try to avoid messing with barrel adapters. Cheers

Hi, thanks!

I'm experiencing WiFi card flakiness besides what the power connector might contribute. Working to isolate that problem.

More to come.

Updated, wifi and all 4 ethernet ports working.

@glowland Please download the latest image and give it a try.