Edzelf / ESP32Radio-V2

New version of the well known ESP32 Radio. Now optional I2S output!
Apache License 2.0
192 stars 47 forks source link

No internal web interface / "sorry" on connect #151

Open amishrabbit opened 1 month ago

amishrabbit commented 1 month ago

Hi there. I built an ESP32 Radio based on this kit: https://www.instructables.com/HackerBox-0070-Radio-Over-Internet/ and flashed it with the V2 firmware, which was not available at the time it was first released, but seems to work for most things.

However, the internal web server for the device only returns output of "sorry" in the browser, and in the debug output, it shows lines like this every time I try to connect to the ESP32 Radio from another device's browser:

[796486][W][AsyncTCP.cpp:930] _poll(): pcb is NULL

I have no idea how to proceed. I flashed the device using the V2 code and the Visual Studio Code/PlatformIO IDE, and it generated no errors during build/flash. I made only minor "uncommenting" of things in the config.h file. In order to get any settings on to the device, I have had to flash over the V1 Esp32_radio_init.ino using Arduino IDE.

Here is debug output of the boot sequence, just for completeness' sake. Any guidance would be very appreciated.

`rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13232 load:0x40080400,len:3028 entry 0x400805e4 [ 8][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz [ 3055][V][esp32-hal-uart.c:330] uartBegin(): UART0 baud(115200) Mode(800001c) rxPin(3) txPin(1) [ 3064][V][esp32-hal-uart.c:416] uartBegin(): UART0 not installed. Starting installation [ 3075][V][esp32-hal-uart.c:463] uartBegin(): UART0 initialization done.

Starting ESP32-radio running on CPU 1 at 240 MHz. [ 3094][I][main.cpp:2448] setup(): [main] Version Wed, 06 Mar 2024 16:00:00 GMT. Free memory 110580 [ 3103][I][main.cpp:2449] setup(): [main] Display type is BLUETFT [ 3194][I][main.cpp:2459] setup(): [main] SPIFFS is okay, space 956561, used 0 [ 3269][I][main.cpp:2480] setup(): [main] Found partition 'nvs ' at offset 0x009000 with size 20480 [ 3279][I][main.cpp:2480] setup(): [main] Found partition 'otadata ' at offset 0x00E000 with size 8192 [ 3288][I][main.cpp:2480] setup(): [main] Found partition 'spiffs ' at offset 0x2F0000 with size 1048576 [ 3298][I][main.cpp:2480] setup(): [main] Found partition 'coredump' at offset 0x3F0000 with size 65536 [ 3309][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::gpio_00 type=33 [ 3316][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::gpio_12 type=33 [ 3323][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::gpio_13 type=33 [ 3330][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::mqttbroker type=33 [ 3338][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::mqttport type=33 [ 3345][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::mqttuser type=33 [ 3352][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::mqttpasswd type=33 [ 3359][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::mqttprefix type=33 [ 3367][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::wifi_00 type=33 [ 3374][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::wifi_01 type=33 [ 3381][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::toneha type=33 [ 3388][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::tonehf type=33 [ 3395][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::tonela type=33 [ 3402][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::tonelf type=33 [ 3409][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_00 type=33 [ 3416][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_01 type=33 [ 3423][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_02 type=33 [ 3430][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_03 type=33 [ 3437][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_04 type=33 [ 3445][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_05 type=33 [ 3452][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_06 type=33 [ 3459][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_07 type=33 [ 3466][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_08 type=33 [ 3474][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_09 type=33 [ 3481][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_10 type=33 [ 3488][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset_11 type=33 [ 3495][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::clk_server type=33 [ 3503][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::clk_offset type=33 [ 3510][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::clk_dst type=33 [ 3517][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_A857 type=33 [ 3524][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_E01F type=33 [ 3531][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_C23D type=33 [ 3538][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_02FD type=33 [ 3545][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_906F type=33 [ 3552][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_E21D type=33 [ 3559][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_A25D type=33 [ 3567][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_30CF type=33 [ 3574][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_18E7 type=33 [ 3581][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_7A85 type=33 [ 3588][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_10EF type=33 [ 3595][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_38C7 type=33 [ 3602][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_5AA5 type=33 [ 3609][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_42BD type=33 [ 3616][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_4AB5 type=33 [ 3623][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::ir_52AD type=33 [ 3630][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_vs_cs type=33 [ 3637][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_vs_dcs type=33 [ 3645][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_vs_dreq type=33 [ 3652][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_enc_clk type=33 [ 3659][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_enc_dt type=33 [ 3667][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_enc_sw type=33 [ 3674][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_tft_cs type=33 [ 3681][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_tft_dc type=33 [ 3689][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::pin_sd_cs type=33 [ 3696][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::preset type=33 [ 3703][I][main.cpp:2338] fillkeylist(): [main] ESP32-Radio::volume type=33 [ 3710][I][main.cpp:2351] fillkeylist(): [main] Read 56 keys from NVS [ 3737][I][main.cpp:1852] readIOprefs(): [main] 'pin_enc_clk ' set to 26 [ 3745][I][main.cpp:1852] readIOprefs(): [main] 'pin_enc_dt ' set to 25 [ 3752][I][main.cpp:1852] readIOprefs(): [main] 'pin_enc_sw ' set to 27 [ 3760][I][main.cpp:1852] readIOprefs(): [main] 'pin_tft_cs ' set to 15 [ 3767][I][main.cpp:1852] readIOprefs(): [main] 'pin_tft_dc ' set to 2 [ 3775][I][main.cpp:1852] readIOprefs(): [main] 'pin_sd_cs ' set to 21 [ 3783][I][main.cpp:1852] readIOprefs(): [main] 'pin_vs_cs ' set to 5 [ 3790][I][main.cpp:1852] readIOprefs(): [main] 'pin_vs_dcs ' set to 16 [ 3798][I][main.cpp:1852] readIOprefs(): [main] 'pin_vs_dreq ' set to 4 [ 3804][I][main.cpp:1852] readIOprefs(): [main] 'pin_spi_sck ' set to 18 [ 3811][I][main.cpp:1852] readIOprefs(): [main] 'pin_spi_miso ' set to 19 [ 3818][I][main.cpp:1852] readIOprefs(): [main] 'pin_spi_mosi ' set to 23 [ 3835][I][main.cpp:2519] setup(): [main] GPIO0 is HIGH [ 3850][I][main.cpp:2519] setup(): [main] GPIO2 is LOW, probably no PULL-UP [ 3867][I][main.cpp:2519] setup(): [main] GPIO4 is HIGH [ 3882][I][main.cpp:2519] setup(): [main] GPIO5 is HIGH [ 3897][I][main.cpp:2519] setup(): [main] GPIO12 is HIGH [ 3912][I][main.cpp:2519] setup(): [main] GPIO13 is HIGH [ 3927][I][main.cpp:2519] setup(): [main] GPIO14 is HIGH [ 3942][I][main.cpp:2519] setup(): [main] GPIO15 is HIGH [ 3957][I][main.cpp:2519] setup(): [main] GPIO16 is HIGH [ 3972][I][main.cpp:2519] setup(): [main] GPIO17 is HIGH [ 3987][I][main.cpp:2519] setup(): [main] GPIO18 is HIGH [ 4002][I][main.cpp:2519] setup(): [main] GPIO19 is HIGH [ 4017][I][main.cpp:2519] setup(): [main] GPIO21 is LOW, probably no PULL-UP [ 4034][I][main.cpp:2519] setup(): [main] GPIO22 is HIGH [ 4049][I][main.cpp:2519] setup(): [main] GPIO23 is HIGH [ 4064][I][main.cpp:2519] setup(): [main] GPIO25 is HIGH [ 4079][I][main.cpp:2519] setup(): [main] GPIO26 is HIGH [ 4094][I][main.cpp:2519] setup(): [main] GPIO27 is HIGH [ 4109][I][main.cpp:2519] setup(): [main] GPIO32 is HIGH [ 4124][I][main.cpp:2519] setup(): [main] GPIO33 is HIGH [ 4139][I][main.cpp:2519] setup(): [main] GPIO34 is LOW, probably no PULL-UP [ 4156][I][main.cpp:2519] setup(): [main] GPIO35 is HIGH [ 4171][I][main.cpp:2519] setup(): [main] GPIO39 is LOW, probably no PULL-UP [ 4179][I][main.cpp:1688] readprogbuttons(): [main] gpio_00 will execute uppreset = 1 [ 4188][I][main.cpp:1688] readprogbuttons(): [main] gpio_12 will execute upvolume = 2 [ 4196][I][main.cpp:1688] readprogbuttons(): [main] gpio_13 will execute downvolume = 2 [ 4206][I][main.cpp:2536] setup(): [main] Start BLUETFT display [ 4996][I][main.cpp:2220] mk_lsan(): [main] Create list with acceptable WiFi networks [ 5004][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: MALnet [ 5012][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: MALnet [ 5019][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: xxx [ 5543][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 0 - WIFI_READY [ 5624][V][WiFiGeneric.cpp:341] _arduino_event_cb(): STA Started [ 5631][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 2 - STA_START [ 6155][I][main.cpp:895] nextPreset(): [main] nextPreset is 0 [ 6178][I][main.cpp:2580] setup(): [main] Connect to network [ 6188][V][WiFiGeneric.cpp:344] _arduino_event_cb(): STA Stopped [ 6195][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 3 - STA_STOP [ 7200][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 0 - WIFI_READY [ 7211][V][WiFiGeneric.cpp:341] _arduino_event_cb(): STA Started [ 7218][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 2 - STA_START [ 9929][V][WiFiGeneric.cpp:384] _arduino_event_cb(): SCAN Done: ID: 128, Status: 0, Results: 13 [ 9938][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 1 - SCAN_DONE [ 9946][I][WiFiMulti.cpp:114] run(): [WIFI] scan done [ 9951][I][WiFiMulti.cpp:119] run(): [WIFI] 13 networks found [ 9956][D][WiFiMulti.cpp:151] run(): 0: [snip] [ 9965][D][WiFiMulti.cpp:151] run(): 1: [snip] [ 9974][D][WiFiMulti.cpp:151] run(): 2: [snip] [ 9982][D][WiFiMulti.cpp:149] run(): ---> 3: [1][12:19:3B:06:93:E5] MALnet (-57) * [ 9990][D][WiFiMulti.cpp:151] run(): 4: [snip] [ 9998][D][WiFiMulti.cpp:151] run(): 5: [snip] [ 10006][D][WiFiMulti.cpp:151] run(): 6: [snip] [ 10015][D][WiFiMulti.cpp:151] run(): 7: [snip] [ 10022][D][WiFiMulti.cpp:151] run(): 8: [snip] [ 10031][D][WiFiMulti.cpp:151] run(): 9: [snip] [ 10040][D][WiFiMulti.cpp:151] run(): 10: [snip] [ 10048][D][WiFiMulti.cpp:151] run(): 11: [snip] [ 10056][D][WiFiMulti.cpp:151] run(): 12: [snip] [ 10064][I][WiFiMulti.cpp:160] run(): [WIFI] Connecting BSSID: 12:19:3B:06:93:E5 SSID: MALnet Channel: 1 (-57) [ 10075][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0 [ 10301][V][WiFiGeneric.cpp:356] _arduino_event_cb(): STA Connected: SSID: MALnet, BSSID: 12:19:3b:06:93:e5, Channel: 1, Auth: WPA_WPA2_PSK [ 10314][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 4 - STA_CONNECTED [ 10800][V][WiFiGeneric.cpp:370] _arduino_event_cb(): STA Got New IP:10.10.40.116 [ 10814][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 7 - STA_GOT_IP [ 10821][D][WiFiGeneric.cpp:1103] _eventCallback(): STA IP: 10.10.40.116, MASK: 255.255.255.0, GW: 10.10.40.1 [ 10831][I][WiFiMulti.cpp:174] run(): [WIFI] Connecting done. [ 10836][D][WiFiMulti.cpp:175] run(): [WIFI] SSID: MALnet [ 10842][D][WiFiMulti.cpp:176] run(): [WIFI] IP: 10.10.40.116 [ 10847][D][WiFiMulti.cpp:177] run(): [WIFI] MAC: 12:19:3B:06:93:E5 [ 10854][D][WiFiMulti.cpp:178] run(): [WIFI] Channel: 1 [ 10861][I][main.cpp:1569] connectwifi(): [main] SSID = MALnet [ 10867][I][main.cpp:1573] connectwifi(): [main] IP = 10.10.40.116 [ 10876][I][main.cpp:2590] setup(): [main] Start web server [ 10883][I][main.cpp:2601] setup(): [main] Network found. Starting clients [ 10895][I][main.cpp:2635] setup(): [main] MDNS responder started [ 11904][I][main.cpp:2673] setup(): [main] Rotary encoder is enabled [ 11910][I][main.cpp:4251] gettime(): [main] Sync TOD [ 12105][I][main.cpp:4264] gettime(): [main] TOD synced [ 12111][I][main.cpp:4286] playtask(): [main] Starting VS1053 playtask.. [ 12248][I][VS1053.cpp:129] testComm(): [VS1053] Slow SPI, Testing VS1053 read/write registers... [ 12504][I][VS1053.cpp:129] testComm(): [VS1053] Fast SPI, Testing VS1053 read/write registers again... [ 13411][I][SDcard.h:555] SDInsertCheck(): [SDcard] Try to mount SD card [ 13424][W][sd_diskio.cpp:174] sdCommand(): no token received [ 13529][W][sd_diskio.cpp:174] sdCommand(): no token received [ 13635][W][sd_diskio.cpp:174] sdCommand(): no token received [ 13741][E][sd_diskio.cpp:199] sdCommand(): Card Failed! cmd: 0x00 [ 13747][W][sd_diskio.cpp:516] ff_sd_initialize(): GO_IDLE_STATE failed [ 13755][E][sd_diskio.cpp:806] sdcard_mount(): f_mount failed: (3) The physical drive cannot work [ 13771][W][sd_diskio.cpp:174] sdCommand(): no token received [ 13876][W][sd_diskio.cpp:174] sdCommand(): no token received [ 13981][W][sd_diskio.cpp:174] sdCommand(): no token received [ 14086][E][sd_diskio.cpp:199] sdCommand(): Card Failed! cmd: 0x00 [ 14093][I][SDcard.h:488] mount_SDCARD(): [SDcard] No SD card attached [ 14231][I][main.cpp:895] nextPreset(): [main] nextPreset is 5 [ 14238][I][main.cpp:3285] radiofuncs(): [main] Radiofuncs cmd is 1 [ 14244][I][main.cpp:4548] sdfuncs(): [main] SDfuncs cmd is 2 [ 14250][I][main.cpp:1330] connecttohost(): [main] Connect to host stream.zeno.fm/kr97egncdchvv [ 14490][I][main.cpp:2406] onConnect(): [main] Connected to host at 15.235.14.140 on port 80 [ 14561][I][main.cpp:1391] connecttohost(): [main] send GET command [ 14904][I][main.cpp:3534] handlebyte_ch(): [main] Switch to HEADER [ 14911][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: Location: http://stream-153.zeno.fm/kr97egncdchvv?zt=eyJhbGciOiJIUzI1NiJ9.eyJzdHJlYW0iOiJrcjk3ZWduY2RjaHZ2IiwiaG9zdC 14n10c[I]bSaxNTMup:4ub8] blIytaJ0dGw OmaiImpQaTO6IjlGUThMdi1zUnRXUGFCVnp4RDZIa2ciLCJpYXQiOjE3MjA1NjIyMDQsImV4cCI6MTcyMDU2MjI2NH0.wXPIsTvkCiTnyr9byhOcj4fyFwJ-l1n67bTlYtEF68g [ 14943][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: cache-control: no-cache [ 14950][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: content-length: 0 [ 14958][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: keep-alive: timeout=60 [ 14966][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: connection: close [ 14973][I][main.cpp:3617] handlebyte_ch(): [main] Redirect [ 14979][I][main.cpp:2417] onDisConnect(): [main] Host disconnected [ 15003][I][main.cpp:3285] radiofuncs(): [main] Radiofuncs cmd is 1 [ 15008][I][VS1053.cpp:286] stopSong(): [VS1053] Song stopped correctly after 0 msec [ 15016][I][main.cpp:4548] sdfuncs(): [main] SDfuncs cmd is 2 [ 15022][I][main.cpp:4328] playtask(): [main] QSTOPSONG [ 15023][I][main.cpp:1330] connecttohost(): [main] Connect to host stream-153.zeno.fm/kr97egncdchvv?zt=eyJhbGciOiJIUzI1NiJ9.eyJzdHJlYW0iOiJrcjk3ZWduY2RjaHZ2IiwiaG9zdCI6InN0cmVhbS0xNTMuemVuby5mbSIsInJ0dGwiOjUsImp0aSI6IjlMUThMdi1zUnRXUGFCVnp4RDZIa2ciLCJpYXQiOjE3MjA1NjIyMDQsImV4cCI6MTcyMDU2MjI2NH0.wXPIsTvkCiTnyr9byhOcj4fyFwJ-l1n67bTlYtEF68g [ 15091][I][VS1053.cpp:286] stopSong(): [VS1053] Song stopped correctly after 0 msec [ 15306][I][main.cpp:2406] onConnect(): [main] Connected to host at 148.113.153.63 on port 80 [ 15358][I][main.cpp:1391] connecttohost(): [main] send GET command [ 16133][I][main.cpp:3534] handlebyte_ch(): [main] Switch to HEADER [ 16139][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: content-type: audio/mpeg [ 16148][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: icy-name: The Conet Project Recordings of Shortwave Numbers Stations Radio [ 16160][I][main.cpp:3555] handlebyte_ch(): [main] Headerline: icy-metaint: 16000 [ 16168][I][main.cpp:3625] handlebyte_ch(): [main] Switch to DATA, bitrate is 0 kbps, metaint is 16000 [ 16177][I][main.cpp:4320] playtask(): [main] QSTARTSONG [ 16550][I][main.cpp:1224] showstreamtitle(): [main] Streamtitle found, 117 bytes [ 16558][I][main.cpp:1225] showstreamtitle(): [main] StreamTitle='The Conet Project - the swedish rhapsody';StreamUrl='&artist=The Conet Project&album=The Conet Project'; [121240][I][main.cpp:1224] showstreamtitle(): [main] Streamtitle found, 108 bytes`

Edzelf commented 1 month ago

If you see "Sorry" in the webinterface, it means that the web pages are not uploaded to the SPIFFS of the ESP32. See chapter 20 of the documentation, item 5.