BL602 Wi-Fi Not Visible After Flashing Firmware – Boot Mode, Partition, RF Calibration Issues
User question
i don't see wifi after flash bl602
Artificial Intelligence Response
Direct answer to the question
- Your BL602 likely isn’t broadcasting an AP or bringing up the Wi‑Fi stack because of one (or more) of: wrong boot mode (GPIO8), incomplete image/partition layout (boot2 + partition table + app), missing/corrupted RF calibration data, unstable power during RF init, or firmware/AP security incompatibility.
- Quick triage: ensure run mode (GPIO8 not held high), power from a stable 3.3 V/500 mA source, connect UART and read boot logs, then reflash a known‑good “combined” image that includes boot2, partition table and app. Test against a 2.4 GHz WPA2‑PSK AP on channels 1–11.
Detailed problem analysis
-
Boot mode and strapping (GPIO8)
- BL602 samples GPIO8 on reset. Held high → download/flash mode; low/floating → run application. If you just flashed and left a “BOOT”/IO8 jumper on VCC, the app never runs, so no Wi‑Fi appears.
- Action: remove the BOOT jumper or ensure GPIO8 is low/floating, then hard power‑cycle.
-
Firmware image composition
- BL602 doesn’t boot a raw application at 0x0000. It expects:
- boot2 (secondary bootloader) at flash base,
- a valid partition table (offset varies by SDK),
- your application in the app partition,
- optional RF/NV partitions.
- If you only wrote an app binary, or the partition table doesn’t match what boot2 expects, Wi‑Fi init never happens.
- Action: use the vendor/project’s “combined/pack” image or configure your flasher to write boot2, PT, and app to their correct offsets. Prefer a full chip erase when migrating between SDKs/firmwares.
-
RF calibration (“RF para”, “NV”, “PHY”)
- The Wi‑Fi/BT PHY needs calibration blobs stored in a reserved flash region. A chip‑erase without restoring or re‑generating these can leave the radio disabled or failing init.
- Typical symptoms in logs: “RF init fail”, “cal data not found”, or silent bring‑up with no AP.
- Action: reflash a firmware that knows how to generate/repair RF params on first boot, or restore the factory RF partition if you have a dump. Avoid erasing the RF/NV partition unless you plan to re‑initialize it.
-
Power integrity
- Wi‑Fi TX/RX bursts cause fast transient current spikes (200–350 mA). Programming adapters’ 3.3 V pins often sag under these edges.
- Action: power from a proper 3.3 V regulator (≥500 mA), keep leads short, and place local decoupling near VDD (e.g., 100 nF + 10 µF ceramics and a 47–100 µF bulk). Verify with a scope at the BL602 VDD pin; droops below ~3.0 V during init can brownout/reset before the AP appears.
-
UART diagnostics (most useful single step)
- Connect USB‑UART: BL602 TX=GPIO16 → adapter RX, BL602 RX=GPIO7 → adapter TX, GND↔GND. Don’t feed 3.3 V from the adapter if you have another supply.
- Baud rates: boot ROM/boot2 commonly at 2,000,000 or 921,600 baud; many apps switch to 115,200 after hand‑off.
- Look for: “Boot2 start”, partition table parse, filesystem/LittleFS messages, “WiFi init/mgmr”, “RF init”, or explicit error codes. No output at all usually indicates wrong mode/boot2 missing, or a dead supply.
-
AP vs. STA behavior
- If your firmware defaults to STA (client), it won’t broadcast an SSID. If it’s preconfigured with the wrong credentials, you’ll also “see no Wi‑Fi.”
- Action: use the firmware’s CLI/console to force AP mode (enable AP, set SSID/pass, save, reboot) or clear Wi‑Fi config to trigger first‑boot AP.
-
AP/security compatibility
- BL602 2.4 GHz only; many firmwares do not support WPA3‑SAE only. WPA2‑PSK (AES/CCMP) is the safest baseline. Mixed WPA2/WPA3 can work; WPA3‑only often fails. Hidden SSIDs and exotic characters can also trip parsers.
- Action: for bring‑up, create a simple 2.4 GHz SSID (ASCII, no spaces), WPA2‑PSK AES, channel 1/6/11, 20 MHz bandwidth.
-
Clocking and board specifics
- boot2 build must match your crystal (commonly 40 MHz). A mismatch can cause timing/radio issues.
- Ensure the antenna feed/matching network is intact and not shorted by test fixtures; poor RF won’t stop the AP from appearing at 0–1 m, but severe detuning can.
Current information and trends
- Community firmware stacks for BL602 (e.g., minimalist RTOS builds or lightweight IoT firmwares) commonly expose serial/Web CLIs to force AP and repair Wi‑Fi config without reflash.
- WPA3 adoption on consumer APs has exposed compatibility gaps in many low‑cost IoT radios/SDKs; best practice during bring‑up remains WPA2‑PSK on 2.4 GHz.
- Tooling has converged around two flashers: the vendor GUI (DevCube) and CLI tools (blflash). Combined images and “whole chip” packs reduce partition/layout errors.
Supporting explanations and details
- Why boot2/partitions matter: boot2 validates and locates the app via the partition table and may mount a filesystem that stores RF/NV. If any of these steps fail, the app might not run or the radio stack won’t initialize.
- Why RF cal matters: per‑device PA/LNA/DC offset/IQ imbalance values are used to meet spectral mask and sensitivity; without them, the driver may refuse to enable the RF.
Ethical and legal aspects
- Don’t transmit on prohibited channels/Tx powers for your region. Use compliant antennas and observe local spectrum regulations (e.g., FCC/ETSI).
- If working on a consumer product, ensure you do not invalidate radio certifications by altering RF paths, antennas, or firmware beyond allowed configurations.
Practical guidelines
- Minimal, deterministic bring‑up recipe
1) Set run mode: remove BOOT/IO8 jumper, power‑cycle.
2) Stable power: external 3.3 V supply ≥500 mA, add local decoupling.
3) Capture logs: try 2,000,000 baud first, then 115,200. Save full boot text.
4) Full reflash with known‑good combined image: include boot2 (matching crystal), partition table, app. Prefer full erase when switching firmware families.
5) First boot: wait 20–40 s for filesystem/RF init; watch for “RF/Wi‑Fi init done.”
6) Force AP via console if needed: enable AP, set SSID/pass, save, reboot.
7) Test with a clean 2.4 GHz WPA2‑PSK AP on channels 1/6/11.
8) Only after AP appears, test STA connection to your target router.
- Verification methods
- Read back flash after programming and verify key ranges (boot2, PT, app) match the image.
- If available, run a “wifi_scan” or “wifi_ap” example from the vendor SDK to isolate hardware vs. app issues.
Potential challenges and how to overcome them
- Silent failures with mixed/legacy configs: temporarily reset Wi‑Fi credentials and use a known simple AP.
- Unstable serial at 2 Mbps: drop to 921,600 or 115,200, but note you may miss early boot messages; try both.
- Bricked feel after chip‑erase: re‑enter download mode by holding GPIO8 high, reset, then flash a full image including boot2.
Possible disclaimers or additional notes
- Exact flash offsets vary by SDK/firmware family; always use the partition table bundled with your chosen firmware.
- Some modules ship without external RF shielding or with layout compromises; range will be limited even when functioning.
Suggestions for further research
- Obtain and study your firmware’s partition.json (or equivalent) to confirm offsets and sizes.
- Review your board’s schematic for boot strapping, crystal value, and antenna network.
- Explore automated RF‑cal regeneration procedure in your stack to avoid manual partition restores.
- Keep a minimal test AP (old router or smartphone hotspot) configured to WPA2‑PSK for bring‑up regressions.
Brief summary
- “No Wi‑Fi after flash” on BL602 is most often a boot/partition/RF‑cal or power integrity problem—not a dead radio. Put the chip into run mode (GPIO8), power it properly, read the UART logs, and reflash a combined image that includes boot2 + partition table + app. Then test against a simple 2.4 GHz WPA2 AP and, if needed, force AP mode from the console.
- If you share your UART boot log, flasher settings (tool, image(s), offsets), board/module type, and AP settings, I can pinpoint the exact failure stage and provide exact commands for your setup.
Disclaimer: The responses provided by artificial intelligence (language model) may be inaccurate and misleading. Elektroda is not responsible for the accuracy, reliability, or completeness of the presented information. All responses should be verified by the user.