I’m trying to bring up a board with the MM8108-M20 module. When booting this up on our boards with the older 1.16.4 driver it tries to load morse/bcf_boardtype_0808.bin which doesn’t exist in the 1.16.4 morse-firmware release. Poking through the release notes I see that I need the latest MM8108-2.0.0 driver. However I see that this BCF file is also still missing from the latest MM8108-2.0.0 tagged morse-firmware release.
Additionally I haven’t got the MM8108-2.0.0 tagged hostapd/wpa_supplicant building and fear the Linux Porting Guide is way out of date with new details to help build the latest version. Build failures include not finding “common/morse/morse_commands.h” included from wpa_supplicant.c.
I can say, I’m happy that the latest MM8108-2.0.0 tagged morse_driver builds on the latest Linux LTS 6.18 kernels as well as 6.19 and 7.0 kernels but it fails to build with 7.1 onward - hopefully that is resolved soon before we hit the next LTS release in December.
Is the 2.0.0 hostap release flawed? Any help here with build instructions?
Where can I find morse/bcf_boardtype_0808.bin needed for the MM8108-M20
Any suggestions on my issues building hostapd/wpa_supplicant due to a missing morse_commands.h? I’ve tried blatantly copying morse_commands.h from the driver and the cli (different file contents) but both have issues so I’m not sure what I’m intended to do. I’m sure I can cobble together the right content but I’m not understanding why the header file is missing from the source.
I’ll look into hostap. It looks like something may have gone wrong during the preparation of the GitHub commit/push that wasn’t caught locally. If this is the case I will be performing a force push to correct the tag.
I’m told the BCF for the M20 module is still being finalised but can be shared on a case by case basis. You’ll find it in your email inbox shortly.
I’d consider that our pre-push automation was doing build checks incorrectly in that it wasn’t cleaning the repository state or doing a fresh checkout, so the new, uncommitted file wasn’t captured and therefore didn’t make it into the public facing commit to GitHub!
My apologies. Please do a
git tag -d mm6108-2.0.1
git tag -d mm8108-2.0.0
git fetch
since with lastest hostapd you updated the hostapd version but did patch everything on top its very hard to find out whats has been specific changed between previous versions. it would be good if you include a patch directory which only includes the mm related patches. this is important (at least for me) since i’m maintaining a own hostapd tree and i cannot quickly change to new or different versions all the time since i have own custom patches on top of it and my approach is having not just hostapd_s1g but a hostapd which works for all wifi chipsets which is not yet possible with the special version provided by morse micro
@ajudge , can you provide some updated build instructions for hostapd/wpa_supplicant? I believe the Linux Porting Guide is out of date.
I’m hitting things such as:
CC ../src/drivers/linux_ioctl.c
CC gas_query.c
../src/drivers/driver_nl80211.c: In function ‘morse_set_mbssid_info’:
../src/drivers/driver_nl80211.c:5549:30: error: storage size of ‘req’ isn’t known
5549 | struct morse_cmd_req_mbssid req;
| ^~~
CC ../src/drivers/drivers.c
CC wpas_glue.c
In file included from ../src/drivers/driver_nl80211.c:27:
../src/drivers/driver_nl80211.c:5553:36: error: ‘MORSE_CMD_ID_MBSSID’ undeclared (first use in this function); did you mean ‘MORSE_CMD_ID_NET_IP’?
5553 | req.hdr.message_id = host_to_le16(MORSE_CMD_ID_MBSSID);
| ^~~~~~~~~~~~~~~~~~~
/home/tharvey/venice/bsp-6.18/morse/mm8108-2.0.0/hostap/src/utils/common.h:178:48: note: in definition of macro ‘host_to_le16’
178 | #define host_to_le16(n) ((__force le16) (u16) (n))
| ^
../src/drivers/driver_nl80211.c:5553:36: note: each undeclared identifier is reported only once for each function it appears in
5553 | req.hdr.message_id = host_to_le16(MORSE_CMD_ID_MBSSID);
| ^~~~~~~~~~~~~~~~~~~
/home/tharvey/venice/bsp-6.18/morse/mm8108-2.0.0/hostap/src/utils/common.h:178:48: note: in definition of macro ‘host_to_le16’
178 | #define host_to_le16(n) ((__force le16) (u16) (n))
I don’t see MORSE_CMD_ID_MBSSID or struct morse_cmd_req_mbssid defined anywhere in the code. I think there is still something wrong with the code.
hostap has a rather large config file and several dependencies, please provide how you are building it exactly.
I’m just about to push our OpenWrt 3.x variants and the associated feeds which use it. This might give you a better sense of exactly how it is being built on those targets.
I did just run through a compilation locally from a fresh clone/checkout on a Raspberry Pi running Trixie. This worked with
cp hostapd/defconfig hostapd/.config
CFLAGS="-Wno-error=sign-compare" make -C hostapd
Worked fine. (gcc 14, lbnl 3.7.0, lbssl 3.5.6).
Your errors look like you might still be on a commit which is missing the morse_commands.h file. Did you checkout the tag after re-fetching? git rev-parse --short=10 mm8108-2.0.0 should give you c21d0c0977
Alternatively, depending on what you are doing, you might be interested in our upstream effort, which will present as 900MHz natively rather than pretend to be a 5GHz radio. This is limited to US channels, and AP/Station modes only. See mm81x driver pull request hostap patchset linux firmware PR
Obviously the above targets the tip of linux-wireless.
tharvey@chewbacca:~/venice/bsp/morse/mm8108-2.0.0/hostap$ git log --oneline | head -5
c21d0c097 Morse Micro release MM8108-2.0.0
a76b36b48 Define QCA vendor chip IDs for WCN7880, WCN7881, and WCN8850
b5c29655d tests: RSN overriding with KDK derivation due to Secure LTF support
73a4773f2 RSNO: Ensure RSNXOE is considered for KDK and LTF key seed generation
4e514df13 Remove obsolete links to buildbot.w1.fi
doh! I still had my cp of the morse_commands.h from the driver in my build script in my attempt to find the missing file so I was indeed clobbering the one you just pushed up.
Everything is building fine now and the MM8108-M20 appears to be coming up fine with mm8108-2.0.0 using a 6.18 kernel on top of an Ubuntu 26.04 resolute rootfs on an IMX8MP Gateworks board.
i have seen the patches for the upstream integration, unfortunatly i need to wait until the support for all regions is complete. as you may know i’m europe. and mesh etc. is also a mandatory feature. but i will keep tracking it