txw8301-openipc: add Taixin TXW8301 802.11ah HaLow Wi-Fi FMAC driver package#2043
txw8301-openipc: add Taixin TXW8301 802.11ah HaLow Wi-Fi FMAC driver package#2043csvke wants to merge 1 commit into
Conversation
flyrouter
left a comment
There was a problem hiding this comment.
Good afternoon
Thank you very much for your interest in our project and your contribution.
Your PR will be reviewed shortly by our team.
A brief review of your files
Files that can be accepted into the Firmware repository immediately:
- general/package/Config.in
- general/package/txw8301-openipc/Config.in
- general/package/txw8301-openipc/files/S35txw8301
- general/package/txw8301-openipc/hgicf.conf.default
- general/package/txw8301-openipc/hgicf_sdio.bin
- general/package/txw8301-openipc/modprobe-txw8301.conf
- general/package/txw8301-openipc/txw8301-openipc.mk
Regarding the two files:
- br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig
- br-ext-chip-sigmastar/configs/ssc338q_ultimate_defconfig
We would not like to include them in the current configuration of the Ultimate firmware for the following reasons:
- It is possible that after some time the Ultimate firmware strategy itself will be changed or they may be abolished altogether.
- If we accept your PR for these two files, any users who have installed the Ultimate firmware will have drivers inside that they may never need.
We suggest an alternative approach:
- Remove these two files from your PR and it will be accepted immediately.
- Please take a look at the Builder repository, and it might be more appropriate to create your two HaLow configurations there and maintain them under your guidance and management. We believe this is the right approach and will give you more freedom of action.
Please do not hesitate to comment on the suggestion.
Thank you for your contribution!
1557927 to
3030002
Compare
…package Adds Buildroot package under general/package/txw8301-openipc with firmware blobs, default config, and init script; enables TXW8301 on gk7205v300_ultimate and ssc338q_ultimate.
3030002 to
62f4029
Compare
|
Thank you for the thorough review and for the thoughtful suggestion regarding the defconfig files. Sorry I have been tied up with other stuff. I have removed br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig and br-ext-chip-sigmastar/configs/ssc338q_ultimate_defconfig from the PR. The branch now contains only the package files as listed in your accepted list. Regarding the Builder repository approach — I agree this makes more sense for board-specific HaLow configurations, as it keeps them decoupled from the Ultimate firmware strategy and allows them to be maintained independently. I will look into creating the two HaLow configurations there. The PR should now be ready for acceptance at your convenience. Please let me know if any further changes are needed. Thank you again for your guidance! |
widgetii
left a comment
There was a problem hiding this comment.
Thanks for this — the package itself is clean and follows the repo's kernel-module conventions well. With the two *_ultimate_defconfig files now dropped per @flyrouter's review (board enablement moving to the Builder repo), the integration side looks good. A few things I'd like to see addressed or clarified before merge:
1. /etc/hgicf.conf is installed but never consumed — the device won't actually associate.
hgicf.conf.default ships ssid / wpa_psk / key_mgmt / freq_range, and the hgicf/hgpriv tools are installed to /usr/bin, but S35txw8301 only loads the module, brings hg0 up, and runs udhcpc. Nothing applies the association parameters, and the modprobe.d override only sets fw_file= (no path pointing the driver at the conf). As written, a fresh board loads the module but joins no network. Could you either wire hgicf/hgpriv into the init script to apply the config, or document how the firmware/driver ingests /etc/hgicf.conf?
2. choice defaults to USB, but the hardware was tested on SDIO. Minor — just flagging the default won't match the documented bring-up setup.
3. Test-app output path is slightly fragile. TXW8301_OPENIPC_CC_NAME = $(notdir $(TARGET_CC)) matched against bin/$(notdir $(CC))/ will break if TARGET_CC ever carries a ccache prefix (notdir would yield ccache gcc). Fine for the current toolchain config, but pinning the test_app output dir explicitly would be more robust.
4. Cosmetic: LICENSE = GPL-2.0, proprietary (hgicf firmware blob) isn't standard SPDX — convention here is just GPL-2.0 (REDISTRIBUTE = NO already covers the blob's status). No LICENSE_FILES set either.
Verified working as intended: the custom BUILD_CMDS/INSTALL_TARGET_CMDS don't clobber the module build/install (the infra appends those via POST_*_HOOKS); MODULE_SUBDIRS = hgic_fmac + CONFIG_HGIC_SDIO/USB forward correctly; the .ko installs to /lib/modules/<ver>/extra/ matching the init script's insmod fallback; and fw_file=taixin/hgicf.bin matches the blob install path.
Item #1 is the main one — happy to merge once the association path is wired up or explained.
Adds a Buildroot package under
general/package/txw8301-openipcwith firmware blobs, default config, and init script. Also enables TXW8301 ongk7205v300_ultimateandssc338q_ultimate.TXW8301 FMAC firmware: https://github.com/TXW8301/TXW8301-FMAC-SDK
TXW8301 Linux Driver: https://github.com/TXW8301/TXW8301-FMAC-linux-driver
Tested on a
XM IVG-G5FGK7205V300camera board using it'sJ3 Extension portsfor both SDIO and USB interfaces connecting withTAIXIN-AH-RX00P_EVB_V1.7@cronyx @flyrouter @viktorxda