espressif / esp-iot-solution

Espressif IoT Library. IoT Device Drivers, Documentations and Solutions.
Apache License 2.0
1.98k stars 784 forks source link

Using the M307A USB4G module and the module has successfully registered for network access, but my phone cannot connect to the ESP32S3 hotspot for internet access (AEGHB-878) #427

Open Rou-sir opened 6 days ago

Rou-sir commented 6 days ago

Answers checklist.

General issue report

cpu: esp32s3 modem: ML307A DCLN( usb 4g modem )

I am using the ESP32S3+M307A USB4G module and the module has successfully registered for network access, but my phone cannot connect to the ESP32S3 hotspot for internet access log:

I (630) led_indicator: Indicator create successfully. type:GPIO mode, hardware_data:0x10, is_active_level_high:1, blink_lists:default
I (651) 4g_main: ====================================
I (652) 4g_main:      ESP 4G Cat.1 Wi-Fi Router
I (653) 4g_main: ====================================
I (659) modem_board: iot_usbh_modem, version: 0.2.1
I (665) modem_board: Force reset modem board....
I (670) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (679) modem_board: Resetting modem using io=13, level=0
I (885) modem_board: Waiting for modem initialize ready
I (5885) USB_HCDC: iot_usbh_cdc, version: 0.2.2
I (5885) IOT_USBH: iot_usbh, version: 0.2.1
I (5915) IOT_USBH: USB Port=1 init succeed, fifo strategy=0
I (5915) IOT_USBH: USB Processing Start
I (5915) IOT_USBH: usb port start succeed
I (5915) IOT_USBH: Waiting USB Connection
I (5919) USB_HCDC: usbh cdc driver install succeed
I (5924) IOT_USBH: Port power: ON Succeed
I (5929) USB_HCDC: Waiting CDC Device Connection
I (5915) USB_HCDC: CDC task start
I (6184) IOT_USBH: line 131 PORT_EVENT_CONNECTION
I (6284) IOT_USBH: Resetting Port
I (6344) IOT_USBH: Port reset succeed
I (6344) IOT_USBH: Getting Port Speed
I (6344) IOT_USBH: USB Speed: full-speed
I (6346) IOT_USBH: Pipe init succeed, addr: 00
I (6351) IOT_USBH: Set Device Addr = 1
I (6356) IOT_USBH: Set Device Addr Done
I (6360) IOT_USBH: get device desc
I (6365) IOT_USBH: get device desc, actual_num_bytes:26
*** Device descriptor ***
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0xef
bDeviceSubClass 0x2
bDeviceProtocol 0x1
bMaxPacketSize0 64
idVendor 0x2ecc
idProduct 0x3012
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerialNumber 3
bNumConfigurations 1
I (6394) IOT_USBH: get short config desc
I (6399) IOT_USBH: get config desc, actual_num_bytes:16
I (6404) IOT_USBH: get full config desc
I (6409) IOT_USBH: get full config desc, actual_num_bytes:204
*** Configuration descriptor ***
bLength 9
bDescriptorType 2
wTotalLength 196
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
bMaxPower 500mA
*** Interface Association Descriptor ***
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 0xe0
bFunctionSubClass 0x1
bFunctionProtocol 0x3
iFunction 5
        *** Interface descriptor ***
        bLength 9
        bDescriptorType 4
        bInterfaceNumber 0
        bAlternateSetting 0
        bNumEndpoints 1
        bInterfaceClass 0xe0
        bInterfaceSubClass 0x1
        bInterfaceProtocol 0x3
        iInterface 5
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x87   EP 7 IN
                bmAttributes 0x3        INT
                wMaxPacketSize 64
                bInterval 16
        *** Interface descriptor ***
        bLength 9
        bDescriptorType 4
        bInterfaceNumber 1
        bAlternateSetting 0
        bNumEndpoints 2
        bInterfaceClass 0xa
        bInterfaceSubClass 0x0
        bInterfaceProtocol 0x0
        iInterface 5
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x83   EP 3 IN
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0xc    EP 12 OUT
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
        *** Interface descriptor ***
        bLength 9
        bDescriptorType 4
        bInterfaceNumber 4
        bAlternateSetting 0
        bNumEndpoints 2
        bInterfaceClass 0xff
        bInterfaceSubClass 0x0
        bInterfaceProtocol 0x0
        iInterface 8
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x82   EP 2 IN
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0xb    EP 11 OUT
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
        *** Interface descriptor ***
        bLength 9
        bDescriptorType 4
        bInterfaceNumber 3
        bAlternateSetting 0
        bNumEndpoints 3
        bInterfaceClass 0xff
        bInterfaceSubClass 0x0
        bInterfaceProtocol 0x0
        iInterface 11
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x89   EP 9 IN
                bmAttributes 0x3        INT
                wMaxPacketSize 64
                bInterval 16
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x86   EP 6 IN
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0xf    EP 15 OUT
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
        *** Interface descriptor ***
        bLength 9
        bDescriptorType 4
        bInterfaceNumber 2
        bAlternateSetting 0
        bNumEndpoints 3
        bInterfaceClass 0xff
        bInterfaceSubClass 0x0
        bInterfaceProtocol 0x0
        iInterface 11
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x88   EP 8 IN
                bmAttributes 0x3        INT
                wMaxPacketSize 64
                bInterval 16
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0x81   EP 1 IN
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
                *** Endpoint descriptor ***
                bLength 7
                bDescriptorType 5
                bEndpointAddress 0xa    EP 10 OUT
                bmAttributes 0x2        BULK
                wMaxPacketSize 64
                bInterval 0
I (6691) IOT_USBH: Set Device Configuration = 1
I (6697) IOT_USBH: Set Device Configuration Done
I (6702) IOT_USBH: Pipe init succeed, addr: 81
I (6707) IOT_USBH: Pipe init succeed, addr: 0A
I (6712) USB_HCDC: CDC Device Connected
I (6717) esp-modem: --------- Modem PreDefined Info ------------------
I (6724) esp-modem: Model: User Defined
I (6728) esp-modem: Modem itf: IN Addr:0x81, OUT Addr:0x0A
I (6735) esp-modem: ----------------------------------------------------
I (6742) gpio: GPIO[12]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (6752) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (6761) USB_HCDC: rx0 flush -0 = 0
I (6762) modem_board: DTE reconnect, reconnecting ...

I (7771) modem_board: reconnect after 5s...
I (8771) modem_board: reconnect after 4s...
I (9771) modem_board: reconnect after 3s...
I (10771) modem_board: reconnect after 2s...
I (11771) modem_board: reconnect after 1s...
I (11771) modem_board: Modem state STAGE_SYNC, Start
E (13781) esp-modem-dte: esp_modem_dte_send_cmd(272): process command timeout
 response timeoutem_dce: esp_modem_dce_generic_command(26): Command:AT
I (13796) modem_board: Current timeouts: 1 and errors: 0
W (13796) modem_board: Try to exit ppp mode........
I (13810) modem_board: Network Auto reconnecting ...
W (13810) 4g_main: Modem Board Event: Network disconnected
I (13810) modem_board: Modem state STAGE_SYNC, Success!
I (13916) modem_board: Modem state STAGE_CHECK_SIM, Start
I (13923) modem_board: SIM Card Ready
I (13923) 4g_main: Modem Board Event: SIM Card Connected
I (13923) modem_board: Modem state STAGE_CHECK_SIM, Success!
I (14028) modem_board: Modem state STAGE_CHECK_SIGNAL, Start
I (14035) modem_board: Signal quality: rssi=14, ber=99
I (14035) modem_board: Modem state STAGE_CHECK_SIGNAL, Success!
I (14136) modem_board: Modem state STAGE_CHECK_REGIST, Start
I (14143) modem_board: Network registered, Operator: "CHINA MOBILE"
I (14143) modem_board: Modem state STAGE_CHECK_REGIST, Success!
I (14245) modem_board: Modem state STAGE_START_PPP, Start
I (14261) modem_board: Modem state STAGE_START_PPP, Success!
W (14262) modem_board: Modem event! 0
I (14361) modem_board: Modem state STAGE_WAIT_IP, Start
I (50275) esp-netif_lwip-ppp: Connected
I (50276) modem_board: IP event! 6
I (50276) modem_board: Modem Connected to PPP Server
I (50278) modem_board: ppp ip: 10.55.90.169, mask: 255.255.255.255, gw: 10.64.64.64
I (50287) modem_board: Main DNS: 211.137.191.27
I (50292) modem_board: Backup DNS: 218.201.96.131
I (50297) esp-modem-netif: PPP state changed event 0: (NETIF_PPP_ERRORNONE)
I (50297) modem_board: Modem state STAGE_WAIT_IP, Success!
I (50305) 4g_main: Modem Board Event: Network connected
I (50305) 4g_router_server: ssid : Can't find in NVS!
I (50323) 4g_router_server: password : Can't find in NVS!
I (50329) 4g_router_server: auth_mode : Can't find in NVS!
I (50335) 4g_router_server: channel : Can't find in NVS!
I (50341) 4g_router_server: hide_ssid : Can't find in NVS!
I (50347) 4g_router_server: bandwidth : Can't find in NVS!
I (50353) 4g_router_server: max_connection : Can't find in NVS!
I (50401) 4g_router_server: Partition size: total: 956561, used: 184736
I (50402) 4g_router_server: Starting server on port: '80'
I (50405) 4g_router_server: Registering URI handlers
I (50409) 4g_router_server: Starting webserver
I (50415) pp: pp rom version: e7ae62f
I (50419) net80211: net80211 rom version: e7ae62f
I (50425) wifi:wifi driver task: 3fcca7ec, prio:23, stack:6656, core=0
I (50435) wifi:wifi firmware version: ccaebfa
I (50435) wifi:wifi certification version: v7.0
I (50439) wifi:config NVS flash: enabled
I (50442) wifi:config nano formating: disabled
I (50447) wifi:Init data frame dynamic rx buffer num: 32
I (50452) wifi:Init static rx mgmt buffer num: 5
I (50456) wifi:Init management short buffer num: 32
I (50460) wifi:Init dynamic tx buffer num: 32
I (50465) wifi:Init static tx FG buffer num: 2
I (50469) wifi:Init static rx buffer size: 1600
I (50473) wifi:Init static rx buffer num: 10
I (50477) wifi:Init dynamic rx buffer num: 32
I (50482) wifi_init: accept mbox: 6
I (50485) wifi_init: tcpip mbox: 32
I (50489) wifi_init: udp mbox: 6
I (50493) wifi_init: tcp mbox: 6
I (50497) wifi_init: tcp tx win: 5760
I (50501) wifi_init: tcp rx win: 5760
I (50506) wifi_init: tcp mss: 1440
I (50510) wifi_init: WiFi IRAM OP enabled
I (50515) wifi_init: WiFi RX IRAM OP enabled
I (50520) wifi_init: LWIP IRAM OP enabled
I (50525) phy_init: phy_version 680,a6008b2,Jun  4 2024,16:41:10
I (50571) wifi:mode : softAP (64:e8:33:7d:ed:fd)
I (50574) wifi:Total power save buffer number: 16
I (50575) wifi:Init max length of beacon: 752/752
I (50575) wifi:Init max length of beacon: 752/752
I (50578) modem_wifi: Wi-Fi AP started
I (50579) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1
I (50597) wifi:Total power save buffer number: 16
I (50598) modem_wifi: softap ssid: esp_4g_router password: 12345678
I (50599) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1
I (50612) modem_wifi: ap dns addr(default): 8.8.8.8
I (50618) 4g_main: changed: ap dns addr (auto): 211.137.191.27
I (50624) 4g_main: Ping addr 110.242.68.66 Restart..
W (52630) 4g_main: From 110.242.68.66 icmp_seq=1 timeout

I (60630) 4g_main: Ping addr 110.242.68.66 Restart..
W (62630) 4g_main: From 110.242.68.66 icmp_seq=1 timeout

I (70630) 4g_main: Ping addr 110.242.68.66 Restart..
W (72630) 4g_main: From 110.242.68.66 icmp_seq=1 timeout

The module has successfully connected to the PPP server

I (50276) modem_board: Modem Connected to PPP Server
I (50278) modem_board: ppp ip: 10.55.90.169, mask: 255.255.255.255, gw: 10.64.64.64
I (50287) modem_board: Main DNS: 211.137.191.27
I (50292) modem_board: Backup DNS: 218.201.96.131

Prompt when using a mobile phone to connect to the wifi of ESP32S3

I (911435) wifi:new:<6,1>, old:<6,1>, ap:<6,1>, sta:<255,255>, prof:6, snd_ch_cfg:0x0
I (911436) wifi:station: 9a:93:67:cf:9a:75 join, AID=1, bgn, 40U
I (911464) 4g_router_server: station 9a:93:67:cf:9a:75 join, AID=1
I (911465) 4g_router_server: 9a9367cf9a75 : Can't find in NVS!
I (911467) modem_wifi: NAT is enabled
I (911471) 4g_main: Modem Board Event: Station connected
E (911477) led_indicator: ./managed_components/espressif__led_indicator/src/led_indicator.c:444 (led_indicator_start):invalid p_handle
I (911700) esp_netif_lwip: DHCP server assigned IP to a client, IP is: 192.168.4.2
I (911700) modem_board: IP event! 2
I (911702) 4g_router_server: 9a9367cf9a75 : Can't find in NVS!
I (911708) 4g_router_server: MAC is 9a:93:67:cf:9a:75, IP is 192.168.4.2, start_time is 911056736 
I (911718) modem_wifi: Get IP addr
E (913126) 4g_router_server: No auth header received
E (913128) 4g_router_server: rest_common_get_handler(901): not login yet
I (914494) 4g_main: Ping addr 110.242.68.66 Restart..
W (919494) 4g_main: From 110.242.68.66 icmp_seq=1 timeout

I (924494) 4g_main: Ping addr 110.242.68.66 Restart..
W (927403) USB_HCDC: The out buffer is too small, the data has been lost 65
W (927603) USB_HCDC: The out buffer is too small, the data has been lost 85
W (927803) USB_HCDC: The out buffer is too small, the data has been lost 90
W (928003) USB_HCDC: The out buffer is too small, the data has been lost 66
W (928203) USB_HCDC: The out buffer is too small, the data has been lost 65
W (928403) USB_HCDC: The out buffer is too small, the data has been lost 65
W (928603) USB_HCDC: The out buffer is too small, the data has been lost 71
W (928803) USB_HCDC: The out buffer is too small, the data has been lost 65
W (929003) USB_HCDC: The out buffer is too small, the data has been lost 65
W (929203) USB_HCDC: The out buffer is too small, the data has been lost 71
W (929403) USB_HCDC: The out buffer is too small, the data has been lost 80
W (929494) 4g_main: From 110.242.68.66 icmp_seq=1 timeout

W (929603) USB_HCDC: The out buffer is too small, the data has been lost 65
W (929803) USB_HCDC: The out buffer is too small, the data has been lost 65
W (930003) USB_HCDC: The out buffer is too small, the data has been lost 66

I suspect that the USB CDC endpoint address selection may be incorrect. I have tested several sets of scanned addresses, but none of them work. However, I do not have the ability to solve them and need your help

lijunru-hub commented 3 days ago

Please confirm whether this 4G module supports the PPPoS communication method, and try testing whether the bulk IN and OUT endpoints on the same interface can communicate.

Rou-sir commented 3 days ago

@lijunru-hub ML307A supports PPP mode, with USB AT and PPP endpoints being 0x81 and 0x0a,The module has successfully connected to the PPP server