Good evening all,
I have been trying to get an RPI4B working with Seeed Studio’s Wm6108 module and wm1302 adapter hat. I have followed their “Getting started with WM6108” guide, getting the image from their openWRT fork that they link to in the tutorial, but I’m having the darndest time getting firmware to load. I am on the road away from my hardware at the moment but I have included some of the errors below as well as a photo of the monitor.
Here is a link to the tutorial that I followed: Getting Started with Wi-Fi HaLow Mini PCIe Module | Seeed Studio Wiki
I am on the road for work at the moment but will be back to testing on Tuesday at which point I can provide more information if necessary.
Thanks in advance! I’m super excited about this technology.
A snippet of the terminal output:
[ 65.5663001 kmodloader: loading kernel modules from /etc/modules.d/morse\*
[ 65.577384] morse micro driver registration. Version 0-rel_1_12_4_2024_Jun_11-6-g63cd0768
[ 65.586917] morse_spi spi0.0: Reading gpio pins configuration from device tree
[ 65.601278] morse_io: Device node /dev/
[65.6095821] morse_spi spi0.0: Loaded firmware from morse/mm6108.bin, size 433044, crc32 0x436ba524
[65.631614] morse_spi spi0.0: Falling back to sysfs fallback for: morse//lib/firmware/morse/bcf_nf08651_us.bin 65.6196911 morse_spi spi0.0: Direct firmware load for morse//lib/firmware/morse/bcf_mf08651_us.bin failed with error -2
[ 65.6472081] morse_spi spi0.0: morse_firmware_init failed: -12
[ 65.654183] morse_spi_probe failed. The driver has not been loaded!
[ 65.6615781] morse_spi: probe of spi0.0 failed with error -12
I’d recommend looking at the openmanet project. They have images that work great out of the box for your exact hardware specs. I personally have not followed the seeed guide but I have used openmanet with my pi4 and also have built my pi5 using raspberrypios and the same seeedstudio hat.
1 Like
I’m not familiar with their guide, but it looks like you might be manually specifying the full path to the BCF rather than just the bcf filename.
I can see that the module loaded correctly earlier, then failed later.
(btw, it looks like you’ve done OCR on the terminal output or typed it manually? There seem to be a few discrepancies. You should be able to ssh into the device and just copy the dmesg output
)
1 Like
I actually did download the Openmanet OpenWRT image at one point during my troubleshooting, but discovered that it only uses mesh modes, and I am intending to set up my network with clients connecting to an access point. It is my understanding that this arrangement allows for the highest bandwidth at longer distances from the AP. Is this correct?
1 Like
Guilty as charged
I used Google lens to avoid typing it out. I’m not sure how to get the output that shows on the PI’s display output using ssh, bit of a newb to ssh.
Tomorrow I think I will do a fresh install and try to capture the full terminal output on boot.
May need a Morse Micro rep to chime in, but I dont think how you use HaLow is going to affect your range as much as physical factors and channel bandwidth will.
Hi all,
I did a clean install of the WifiHalow OpenWRT image that Seeed Studios suggests in their guide. Link for convenience: Releases · Wvirgil123/openwrt · GitHub
Then, I connected my computer to the pi and logged in to the web config interface. The first indication that something is wrong is that this interface says at the top:
The BCF file on this device must be specified via UCI as the board type isn’t set in the OTP bits. Currently, your HaLow device is using the non-functional failsafe BCF.
Then, after I click through the config and set up the Pi as a client station, I get a landslide of “spi0.0” errors which I have copied and pasted into an rtf (sorry for making you fix my first post ajudge).
Needless to say, the pi does not connect to my access point. Thanks to everyone who has taken the time to respond to my post, hopefully this paints a clearer image of what is going on.
I have copied the logs to a pastebin page here to avoid the post character limit: RPI4 HaLow Error Log 1 - Pastebin.com
So, the good news is that the module is loading:
[ 981.907465] morse micro driver registration. Version 0-rel_1_12_4_2024_Jun_11-6-g63cd0768
[ 981.939665] morse_spi spi0.0: Loaded firmware from morse/mm6108.bin, size 433044, crc32 0x436ba524
[ 981.949800] morse_spi spi0.0: Loaded BCF from morse/bcf_default.bin, size 1057, crc32 0xb418a451
[ 982.568982] morse_spi spi0.0: Driver loaded with kernel module parameters
Slightly concerning that you’re using bcf_default.bin; usually this would be specific to your chip, and bcf_default.bin would be the ‘failsafe’ bcf (that lets the driver load but doesn’t do much else useful). But I’m not sure how the Seeed Studios image is setup.
Good news that it connects to an AP:
[ 1062.578189] wlan0: associated
Bad news that it gets some strange stuff from the AP then crashes:
[ 1072.580150] wlan0: AP has invalid WMM params (AIFSN=0 for ACI 3), will use 2
[ 1072.588147] wlan0: AP has invalid WMM params (CWmin/max=2047/3 for ACI 3), using defaults
[ 1106.728384] morse_spi spi0.0: Command morse_cmd_health_check 19:761 timed out
[ 1106.736457] morse_spi spi0.0: morse_health_check_work: Failed health check (errno=-110)
[ 1106.746357] morse_spi spi0.0: morse_mac_restart: Restarting HW
[ 1106.783533] morse_spi spi0.0: morse_mac_restart: Generating core-dump (reason:health check failure)
Two questions:
- what AP are you connecting to? Hardware/software?
- is there a possibility of using a newer version of our software? This driver is quite old. You may want to talk to Seeed Studios about this, or you could just use our morse_openwrt. I believe there are other people who’ve had success with this after minor device tree adaptations.
Thanks for your reply James,
I am connecting to an Alfa Networks Tube-AHM.
I would love to try a newer versions of the software, but i am a little lost as far as how to do that. I am a fairly new to rpis, openwrt and linux more broadly. Are there any guides or documentation you know of that might help me? From my research it seems like updating drivers would require me to compile an image from scratch, is this true or am I missing something easier?
Edit: I am also not sure why it is using bcf_default.bin, is there a way I can point openwrt at a different bcf?
Thanks a bunch!
@Crimson_viper97 I would love to know if you’re able to successfully connect to an Alfa HaLow solution. I have tried and tried to connect my seeedstudio gear to the NRC7292 based Alfa gear and from emailing back and forth with Alfa they confirmed their firmware is not as up to date and does not speak WPA3 at the same level as the more modern MM firmware/drivers.
Well, this is disheartening to hear. Of all the problems I have been having I did not expect that to be one of them. I am having trouble with something as basic as getting a working software config on my pi. I’m a couple bad days from giving up on this whole project.
This was their recommended fix action.
I did not try to do an open connection as that would not be how I’d be deploying these nodes. I was specifically working with the Alfa Halow-U devices though so mayyyybe the Tube-AHM is a bit more updated.
If the issue is WPA3-SAE support and you’re not using 11s Mesh, you can switch back to WPA2-PSK. We don’t validate this, as it’s not part of the 802.11ah standard, but setting the right parameters via uci directly (i.e. not the frontend) should work. This is probably the first thing to try, though perhaps the simplest thing would be to buy an AP with an MM6108 or MM8108 (e.g. one of our HaLowLink APs).
Re upgrading the software, if you’re not familiar with compiling software at the terminal, I would not recommend it, but you can go to GitHub - MorseMicro/openwrt · GitHub and follow the instructions there. You may need to adapt the overlay for the Seed Studio board (or perhaps copy the overlay file from the Seed Studio image).
You could also ask Seed Studio to update their image.
Thanks for your response James. I have not been able to get Seeed Studio to answer an email thus far. I think it is time for me to take a pause on this project and spend some time educating myself. I think I would summarize my situation as “mad cus bad” so time to get less bad.