Repository navigation
Releases: Fronsipswu/qcom-band-menu
Release list
v7.0.0
Cell-Lock rework
- Cell-Lock lists the live serving and neighbour cells at the bottom of the page. Tap a cell to lock it.
- In NSA the cell table splits into an NR card (SCG, NR neighbours) above an LTE card.
- NR neighbour cells are listed once, with their strongest beam.
- New 5G lock rows: NR-ARFCN + SCS for a frequency lock, PCI + Band for a full NR cell lock. Each row has its own check button.
- New 4G lock row: EARFCN + PCI. One PCI locks the cell, several make a multi-cell lock.
- Dropdowns list the last 10 channels and PCIs seen, with coloured bands. SCS and band fill in automatically when they can be worked out.
- The active lock is shown beside 5G, 4G and PLMN lock ("NR-ARFCN locked", "Cell locked", "Multi-cell locked", ...), and the row holding it gets a button to clear it.
- PLMN lock accepts "520 04", "520-04" or "52004".
- Clear ALL empties the lock fields.
New uplink card (DIAG mode only)
- Per carrier band, bandwidth, RBs, MCS, modulation, BLER, layers, PUSCH and PUCCH power and PHY UL, plus Rank and TX mode in SA.
- "Hide uplink" menu option.
DIAG mode improvements
- Supports the external X55 modem on Snapdragon 865 / 870.
- NR neighbour cells with beams.
- Antenna measurements for every LTE and NR carrier.
DIAG mode compatibility
- X55, X60, X62, X65, X70, X72, and X75 modems are currently supported.
- X80 and X85 modems are only supported without encryption.
- Other modems may work but support has not been tested.
Bands page improvements
- The floating button is a single check that applies the band locks. Reset moved to the menu.
- "Combine NR" menu option: one NR band list on modems with separate SA and NSA masks. It starts from the SA mask and applies to both.
Network page improvements
- The throughput chart scales automatically and ends at the newest sample.
- Rank is shown as a whole number.
- Neighbour cells list the band first, in colour.
- Antenna card headers show band and PCI only.
- Test script: 1 to 8 parallel streams. There are no built-in server URLs anymore, you enter your own.
- The test status line shows only while a test runs or has stopped.
App improvements
- Android 10 support.
- "Network page at start" option on the Info page.
Bug fixes
- Fixed the daemon failing to connect ("Permission denied") on rooted phones whose kernel can't switch SELinux to permissive.
- Fixed the DIAG helper not connecting under Magisk on some phones.
- Fixed a duplicated LTE SCell in the CA tables after a CA reconfiguration.
- Fixed an LTE carrier being listed twice after a slot move.
- Fixed the Network page jumping when the test status line opens.
Daemon 5.0.0 (unchanged)
DIAG helper 1.22.33 (new)
v6.0.0
DIAG mode (experimental)
- Optional DIAG mode (Network page menu, "Enable DIAG") reads the modem's diagnostic logs through a small on-device helper, alongside other DIAG tools.
- LTE CA table with band, bandwidth, EARFCN, PCI, RSRP / RSRQ / SINR, Tx/Rx, MIMO, RBs, MCS, modulation and PHY DL / UL.
- NR table for NSA and SA with band, bandwidth, NR-ARFCN, PCI, SS-RSRP / SS-RSRQ / SS-SINR, CSI-SINR, CSI-RS ports, MIMO, RBs, MCS, modulation and PHY DL / UL
- Timing Advance on the LTE and NR serving cards.
- Dual SIM support, each SIM's DIAG data kept apart.
- Optional combined ENDC table ("Combine ENDC") with LTE and NR carriers in one table.
- Needs root (Magisk or KernelSU). Where SELinux blocks the helper's socket, one rule is added until the next reboot.
DIAG mode compatibility
- X60, X62, X65, X70, X72, and X75 modems are currently supported.
- X80 and X85 modems are only supported without encryption.
- Other modems may work but support has not been tested.
New throughput graph
- PHY DL and UL throughput over a 2 minute window (DIAG mode only).
- The scale follows the traffic around the reading shown, without jumping on every peak.
Replay support
- Records the Network page (menu, "Enable replay"), also in the background, for up to one hour.
- Freeze the page (padlock or double tap) to scrub back through the recording, with play / pause and fine scrubbing.
Test script support
- HTTP POST/GET traffic from the Network page, with its status in the top bar.
Network page improvements
- Reworked serving cell cards with per-band colours, gNB / Cell for NR SA and TA.
- CA tables with colour-coded signal bars, MCS and RB bars, and text that shrinks to fit many carriers.
- NSA is shown only while the NR leg is measured.
- The card in view stays in place when cards above it change (NSA / SA switches, the SCG coming and going).
- Menu options show their state when on (Enable DIAG, Enable replay, Keep screen on, Hide serving cell, Hide throughput, Combine ENDC) and are remembered.
- TX power moved to Antenna measurements. No throughput chart on WCDMA.
- SIM 1 turned off or removed is detected, as SIM 2 already was.
App improvements
- "Hide navigation bar" on the Info page. Pages still swipe, and the freed space goes to the pages.
- Smoother page swipes, and a tap right after a swipe reaches the new page.
- Loaded modem state and unapplied cell-lock input survive screen rotation and theme changes.
- Cell lock accepts the full 32-bit gNB ID range.
- Info page credits asn1c (BSD 2-Clause), used for the helper's RRC decoding.
Bug fixes
- Fixed the Network page jumping to the top while scrubbing a replay.
- Overlapping NR bands (n77 / n78, n38 / n41, ...) resolved from the network's configuration.
- Fixed a black box after a fling to the bottom of the Network page.
- Fixed a failed modem read showing "No service". The last reading is kept instead.
- Fixed the replay recording being wiped when replay was enabled again.
- Fixed stale NR values and out-of-range LTE cell IDs being shown.
- Fixed released LTE SCells staying in the table after switching to NSA.
Daemon 5.0.0 (unchanged)
DIAG helper 1.22.19 (new)
v5.0.0
New! Network page
- Added a Network page that shows live cell information read straight from the modem via QMI.
- Serving cell card: mode (LTE / LTE NxCA / NR NSA / NR SA / WCDMA / GSM), RRC state, colour-coded signal bars (RSRP, RSRQ, SINR, TX power), then band, bandwidth, channel, operator, PLMN, roaming, and cell identity.
- Carrier aggregation table for LTE (P, S1, S2...) with per-carrier band, EARFCN, PCI, bandwidth, and signal bars, plus an NR aggregation card for NR secondary carriers.
- Per-antenna measurements (RX0, RX1...) and a neighbour cells table, both collapsible.
- SIM 1 / SIM 2 swipe, freeze button and pull-to-refresh. Polling runs only while the page is open and the app is in the foreground.
Dual SIM detection via QMI
- SIM tab names now come from the modem (QMI), not the Android telephony API.
- A SIM 2 that is turned off or removed is detected and checked at startup, when returning to the app, and on pull-to-refresh. Swipes then go straight between pages on SIM 1.
App improvements
- The whole band cell (circle and label) is now the tap target, with more space between rows.
- Ticked bands are white with a black tick; a band group that isn't fully ticked gets a soft white tint.
- New bottom bar icons: signal bars for Network, a wrench for Bands.
- The app now stops you from applying a RAT lock with no bands selected for it.
Bug fixes
- Fixed swiping between pages sometimes getting stuck halfway.
- Fixed the bottom bar occasionally fighting the page swipe.
Daemon 5.0.0
- New read-only commands for the Network page: (nas_read) and uim_card_status.
- Monitoring uses its own per-SIM connections, so it never changes the SIM that band and cell lock commands target.
v4.7.0
App improvements
- The “Filter active” indicator now sits in the top bar, to the left of the title.
- You can now Show/Hide NR mode, Usage setting and Quick select with a toggle
- The band filter now remembers your last selection after pressing “Clear filter”, so you can turn the same filter back on right away.
Performance optimizations and bug fixes
- Faster startup by removing forced
pkill+ 500 ms sleep at launch. The app now only kills a stale daemon if one is actually running. - Startup now sends 2 daemon requests instead of 4
DaemonManageris now held in a ViewModel, so configuration changes (e.g. dark mode toggle, display or font scaling) keep the same daemon and connection instead of killing and relaunching it.- Daemon shutdown now runs exactly once, off the main thread. Closing and quickly reopening the app can no longer kill the new daemon or cause a freeze.
- Fixed a rare case where a reconnect during Apply could send settings to the other SIM
- Fixed startup failing with “Failed to select SIM 2” on dual-SIM phones with DSDS turned off. SIM 2 is now shown as unavailable and SIM 1 works normally.
v4.6.2
SIM operator names, modified-RAT highlighting, tappable RAT titles
The SIM 1 / SIM 2 tabs on the Bands and Cell pages now show the carrier name (e.g. "SIM 1 - vodafone.de"), using an optional phone-state permission with a graceful fallback. RAT band grids are tinted when some of that RAT's bands are unselected, so partially-configured RATs stand out, and tapping a RAT's title now toggles all of its bands at once. No daemon change (still daemon v4.6.1).
v4.6.1
Re-Attach to network + floating-window top-bar fix
Adds Detach / Attach / Re-Attach actions to the Bands, Cells and Info menus. Re-Attach drops and re-establishes PS registration in one action (with an automatic single attach retry if the modem is left detached), backed by the new daemon v4.6.1 QMI NAS_INITIATE_ATTACH command. Also fixes the SIM tab row being covered by the title bar when the app runs in a floating/freeform window, by matching the top bar's systemBars top inset.
v4.6.0
Security hardening: daemon token auth, idle timeout, SELinux fallback guards
The root daemon now requires a per-install token on every request (-tokenfile), exits after 15 minutes without a client, and the app only enters and always restores the SELinux permissive fallback (skipping it when an unauthenticated peer holds the socket). Also fixes a stack buffer overflow when a modem reports an oversized Manual-PLMN MNC.
v4.5.5
Usage setting (voice/data-centric) option on the Bands page
New two-tab control under the NR mode section lets each SIM select voice-centric or data-centric usage preference, staged with the rest of the band lock and applied together on Apply. The section stays greyed out when the modem does not report a usage preference. Updates the included daemon to v4.5.5.
v4.5.4
Cell-lock keyboard starts numeric but switches back
Cell-lock input fields no longer trap you in a digits-only keypad on Samsung/Xiaomi stock keyboards: the keyboard now opens on the numeric/dial-pad layout but offers the switch back to the full alphanumeric layout.
v4.5.3
Simple blur behind the top bars, adaptive pager height
- Simple blur behind the top bars on the Bands and Cell-Lock pages (replaces the plain dark scrim; falls back to scrim-only on Android 11)
- Bands pager now sizes to the visible page, removing leftover scrollable space when a filter hides entire RATs
- Band filter: unchecking all bands of a RAT hides it; filter sheet save tick greys out when a SIM has no bands selected