Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding new target ipq807x-generic and new device Xiaomi AX3600 #3354

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

ChristianMiddendorf
Copy link
Contributor

@ChristianMiddendorf ChristianMiddendorf commented Oct 12, 2024

  • Must be flashable from vendor firmware
    • Web interface
    • TFTP
    • Other: <supgrade from OpenWRT but do not save configuration over reflash... "sysupgrade -n filenamefromsysupgrade.bin">
  • Must support upgrade mechanism
    • Must have working sysupgrade
      • Must keep/forget configuration (sysupgrade [-n], firstboot)
    • Gluon profile name matches autoupdater image name
      (lua -e 'print(require("platform_info").get_image_name())')
  • Reset/WPS/... button must return device into config mode
  • Primary MAC address should match address on device label (or packaging)
    (https://gluon.readthedocs.io/en/latest/dev/hardware.html#hardware-support-in-packages)
    • When re-adding a device that was supported by an earlier version of Gluon, a
      factory reset must be performed before checking the primary MAC address, as
      the setting from the old version is not reset otherwise.
  • Wired network
    • should support all network ports on the device
    • must have correct port assignment (WAN/LAN)
      • if there are multiple ports but no WAN port:
        • the PoE input should be WAN, all other ports LAN
        • otherwise the first port should be declared as WAN, all other ports LAN
  • Wireless network (if applicable)
    • Association with AP must be possible on all radios
    • Association with 802.11s mesh must work on all radios
    • AP+mesh mode must work in parallel on all radios
  • LED mapping
    • Power/system LED
    • Radio LEDs
      • Should map to their respective radio
      • Should show activity
    • Switch port LEDs
      • Should map to their respective port (or switch, if only one led present)
      • Should show link state and activity
  • Outdoor devices only:
    • Added board name to is_outdoor_device function in package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
  • Cellular devices only:
    • Added board name to is_cellular_device function in package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
    • Added board name with modem setup function setup_ncm_qmi to package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular
  • Docs:
    • Added Device to docs/user/supported_devices.rst

The Xiaomi AX3600 is officially supported by OpenWRT. 
As gluon just supports two WLAN radios the third one has to be disabled by removing the corresponding drivers
New target to support Xiaomi AX3600.
@github-actions github-actions bot added 3. topic: docs Topic: Documentation 3. topic: hardware Topic: Hardware Support labels Oct 12, 2024
@ChristianMiddendorf
Copy link
Contributor Author

gluon-ffin-v2023.2.2+116-fastd-xiaomi_ax3600-sysupgrade.zip
Example for the Freifunk Ingolstadt Community

Copy link
Contributor

@herbetom herbetom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,

could you please edit your PR description so that the checklist renders properly?

Should just be a one to one copy and if you want to check something just change [ ] to [x].
Of course it's fine to add comments where appropiate but proper formating allows for much better readability.

Also you'll have to add the target to .github/filters.yml:

https://github.com/freifunk-gluon/gluon/actions/runs/11308434515/job/31451274282

If you click on the "Show diff" CI Step you can see what and where you'll have to add it to make the CI pass.

targets/ipq807x-generic Outdated Show resolved Hide resolved
:) Adding both kind of device descriptions to align with OpenWRT on the one side and the manufacturer ID on the other.

Co-authored-by: Tom Herbers <github@herbetom.de>
@ChristianMiddendorf
Copy link
Contributor Author

.github/filters.yml

Thanks a lot for your kind support!

A short explanation why some points are not marked as checked:

  • The device has three WLAN radios but with gluon you can just use two. One for 2,4GHz, one for 5GHz.
  • Radio LEDs: You can just see activity of the access point with one LED, the other one is to show that it is working. But you do not see if it is traffic from a special radio or LAN port
  • As there are no LEDs for the LAN ports they are not assigned and do not show activities that are mapped to a special port.

To get around the question if it would be better to use xiaomi_ax3600 oder xiaomi-ax3600 both labels are now supported.

@maurerle
Copy link
Member

So this is also relying on #1661 as well.
Seems like you have a similar workaround as the #3057 where one radio driver was removed, so that gluon only sees two and functions in some way.

This would only get broken support, and it probably would be better to first work out functional support for devices with three radios in gluon.. :/

@ChristianMiddendorf
Copy link
Contributor Author

So this is also relying on #1661 as well. Seems like you have a similar workaround as the #3057 where one radio driver was removed, so that gluon only sees two and functions in some way.

This would only get broken support, and it probably would be better to first work out functional support for devices with three radios in gluon.. :/

Hello,
this solution will also close #3032.
The difference is that you have now official OpenWRT support for AX3600 and just have to disable the third radio. Before you had to activate the drivers for the two working radios yourself that would bring trouble if the OpenWRT solution gets updated. This one that bases on the official solution has a better chance to survive in the future.

Generally it would be great if all radios (n) would get support. But I believe there is no reason to wait and the device is now available in the market with a lot of CPU power, WLAN6 and a good antenna array.

If we have support for the ipq807 target it should be easy to support Xiaomi AX9000 as well. As far as I know one of the most powerful OpenWRT devices that serves 1000+ clients if needed. Just the secure boot thing and different layouts for CN and International version are unpleasant.

@ChristianMiddendorf
Copy link
Contributor Author

ChristianMiddendorf commented Oct 13, 2024 via email

@maurerle
Copy link
Member

@ChristianMiddendorf zum Verständnis was diese beiden Strings im Device bedeuten:

Das ist im Grunde auch hier beschrieben:
https://gluon.readthedocs.io/en/latest/dev/hardware.html#device-definitions
ist jedoch etwas ausbaufähig.

Du müsstest es meines Erachtens nach also genau andersrum handhaben in deiner Config @herbetom

targets/ipq807x-generic Outdated Show resolved Hide resolved
@Djfe
Copy link
Contributor

Djfe commented Oct 16, 2024

The big problem that Blocktrron might still have with the target is that no one has added support for Gluon to handle the new regulatory domain (iw reg dm).
Actually, it was always the case that this is regulated by Linux. But now (ath11k, ath12) the wifi chip determines which frequencies are allowed and which signal strength via information in its firmware.
Gluon must be able to select the country correctly with iw and be restricted in such a way that it does not select a frequency/signal strength combination (e.g. in outdoor mode) that the wifi chip outright rejects.
This would then lead to an error and non-functioning wifi.

Co-authored-by: Tom Herbers <github@herbetom.de>
@blocktrron
Copy link
Member

@Djfe we could postpone a decision by adding this platform as broken. I don't own such a platform and would like to make myself a better picture about the situation / implications (every information i have is from mailinglists and thus could be incomplete / incorrect).

@Djfe
Copy link
Contributor

Djfe commented Oct 21, 2024

I'd would like/support such a decision.

@ChristianMiddendorf
Copy link
Contributor Author

@Djfe we could postpone a decision by adding this platform as broken. I don't own such a platform and would like to make myself a better picture about the situation / implications (every information i have is from mailinglists and thus could be incomplete / incorrect).

Good morning,
What do you think about me sending you the device?
If experiments go wrong, you can simply reinstall the stock firmware via TFTP and start from scratch :)
Best regards,
Christian

@AiyionPrime
Copy link
Member

@Djfe sorry, I did not realize the duplicate PR, thanks for the heads up.

[...]

I have not checked latest OpenWrt changes, but know that @cawi2001 would be available to test something, if there's something missing here and if he were provided with an image for the device.
The "IOT" triple radio is not worth waiting for (at least for this device) due to the ridiculous small possible throughput.

Deactivating it is very much fine, I'd say.

What @blocktrron said.

Originally posted by @AiyionPrime in #3032 (comment)

@AiyionPrime
Copy link
Member

@ChristianMiddendorf is there anything you would like @cawi2001 to test?
I think his offer still stands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. topic: docs Topic: Documentation 3. topic: hardware Topic: Hardware Support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants