ShizuStore

Hotspot Channel Setter

Lorax121

1.1.1 · GitHub

Download APK
Network Android 7.0+ 5 days ago Proprietary
15 ShizuStore
69 GitHub
5 Stars
17 MB Size

More about this app

Lists and applies the Wi-Fi hotspot SoftAP 2.4/5 GHz channel via Shizuku or root and persists the choice across reboots.

App icon

Hotspot Channel Setter

Sets the Wi-Fi hotspot (SoftAP) channel on Android, with Shizuku or root.

English | Русский

Root mode Shizuku mode

Features

  • Lists the channels the device reports for the 2.4 GHz and 5 GHz bands, with an option to include DFS and disabled ones.
  • Stores the selected channel in the hotspot configuration, so the choice survives a reboot.
  • Shows the channel currently stored in the hotspot settings.
  • Two access methods, Shizuku (no root) and root; the selected one is remembered.
  • English and Russian.

Requirements

  • Shizuku installed and running, or root.
  • Android 12 or newer for Shizuku mode.

Version support

List and apply were checked on emulators: Android 10, 11, 12, 14, 15, 16 and 17. Android 13 was checked on a real device.

Android Shizuku — list Shizuku — apply Root — list Root — apply
10 not available — iw list —
11 standard list when the system reports nothing ✓ iw list ✓
12–17 system capability ✓ iw list ✓

If the channel list is missing in Shizuku mode right after a reboot, start the hotspot once — some devices report the hotspot capabilities only after the hotspot has been running. Then press the refresh button next to the current channel.

Methods the app uses:

Channel list

Method Mode Android
System hotspot capability Shizuku 12+
dumpsys wifi — mCurrentSoftApCapability (second source) Shizuku, root 13+
iw list (main source) root 10+
Standard channel list Shizuku 11

Apply

Method Mode Android Lasts
Hidden setSoftApConfiguration Shizuku, root 11+ after a reboot
cmd wifi force-softap-channel root 11+ until a reboot

On Android 10 the channel cannot be applied: the system API for it does not exist, and cmd wifi of that version has neither force-softap-channel nor get-allowed-channel.

How it works

  • Channel list — Shizuku mode reads the hotspot capability the system reports (Android 12 and newer), with the framework dump as a second source (Android 13 and newer); on Android 11 it shows the standard list. Root mode uses iw list and the dump.

  • Apply — the channel is written into the hotspot configuration, which is what the system hotspot uses:

    getSoftApConfiguration() -> copy with the new channel -> setSoftApConfiguration()
    
  • Current channel — read back with the same configuration API.

In Shizuku mode this code runs in a Shizuku user service with shell identity, in root mode in a helper process started with app_process.

Root mode can also apply the channel for the current session only, with the legacy command that Android 12 and newer allow to root alone:

cmd wifi force-softap-channel enabled <frequency>

Install

Download the APK from the Releases page. Builds of 1.0.x are signed with a different key, so the old version has to be uninstalled before installing 1.1.x.

Build

flutter pub get
flutter build apk --release

Release builds are signed with the keystore described in android/key.properties, which is not tracked by Git.

Changelog

See CHANGELOG.md.

Close

How Shizuku is used

Can set, reset and inspect the Wi-Fi hotspot channel via `IWifiManager` and `cmd wifi` through Shizuku.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

The app uses Shizuku to read and control the Wi-Fi hotspot (SoftAP) channel.

  • Set hotspot channel: the user can apply a chosen 2.4 GHz or 5 GHz frequency, stored in the hotspot configuration through the system Wi-Fi service so it persists across reboots, or applied for the next hotspot start with the cmd wifi force-softap-channel shell command through Shizuku.
  • Restore automatic channel: the user can clear the stored channel so the device picks the hotspot channel itself again, written through the system Wi-Fi service through Shizuku.
  • List supported channels: the user can see which hotspot channels the device allows, read from the Wi-Fi hotspot capability through Shizuku.
  • View current channel: the user can see the currently stored hotspot channel and hotspot capability details, read from the stored hotspot configuration and from the dumpsys wifi output through Shizuku.

Android APIs or commands used

  • IWifiManager.getSoftApConfiguration
  • IWifiManager.setSoftApConfiguration
  • SoftApConfiguration.Builder.setChannel
  • SoftApConfiguration.Builder.setChannels
  • WifiManager.registerSoftApCallback
  • WifiManager.unregisterSoftApCallback
  • SoftApCapability.getSupportedChannelList
  • cmd wifi force-softap-channel
  • dumpsys wifi

Notable details

Storing a hotspot channel that persists across reboots requires Android 11 or newer; on older versions that option is unavailable.

Close

Changelog

What's new for version 1.1.1

Channel list fixed on Android 11 and 12

Shizuku mode could not read the channel list before this release. cmd wifi get-allowed-channel exists only from Android 14, and the framework dump prints the capability only from Android 13.

The Shizuku user service now registers a soft AP callback and takes the list straight from the system.

  • Shizuku mode: channel list on Android 12 and newer.
  • Android 11: standard channel list with a warning when the system reports nothing.
  • Two sources per mode: system capability and framework dump for Shizuku, iw list and the dump for root.
  • Android 10: list only in root mode, applying is not supported.

Verified on Android 10, 11, 12, 14, 15, 16 and 17 emulators, and on an Android 13 device.

APKs: universal, arm64-v8a, armeabi-v7a. Builds of 1.0.x are signed with a different key, so uninstall the old version first.

Close

Permissions

2 permissions requested

  • com.example.wifi_channel_setter.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close

Sources

3 sources

1.1.1 arm64-v8a GitHub · com.example.wifi_channel_setter
Selected Download
1.1.1 armeabi-v7a GitHub · com.example.wifi_channel_setter
Download
1.1.1 Universal GitHub · com.example.wifi_channel_setter
Download