Webhook.site example / Pico W LTE First Light (darkness)

I am following the example here: HTTP Request to Web Server

I have scanned the QR code on the board and activated the SIM.

I have created a config.json with the URL generated from the webhook.site.

When I try to run the get.py script, it simply hangs for about with the blue LED on the board blinking slowly and then after about 5 minutes the console has on it:

>>> %Run -c $EDITOR_CONTENT

MPY: soft reboot
INFO: Sending a GET request.
INFO: {'response': ['OK'], 'status': 0}
INFO: {'response': 'timeout', 'status': 2}
>>>

I see no requests on webhook.site.

Any ideas of what’s going on? I even tried it outside with no joy.

Thanks.

Hi,

Can you try again after enabling debug mode and share the output?

Don’t forget to place the debug.set_level(0) line right after importing the libraries.

It looks like it can’t find a network (stuck searching). As I said, I’ve tried this both indoors and outdoors and I have no issues getting at multiple networks either place with other LTE cards. I’ve cut out minutes worth of +CEREG polling to reduce the debug output length.

MPY: soft reboot
DEBUG: Power status: 1
DEBUG: Power status: 1
DEBUG: Power status: 1
DEBUG: Power status: 0
DEBUG: Response: ['\x00\r\nRDY\r\n']
DEBUG: Processed: ['\x00', 'RDY']
DEBUG: Response: ['\r\nAPP RDY\r\n']
DEBUG: Processed: ['\x00', 'RDY', 'APP RDY']
DEBUG: COM: {'response': 'timeout', 'status': 2}
DEBUG: Response: ['AT\r\r\nOK\r\n']
DEBUG: Processed: ['AT\r', 'OK']
DEBUG: COM: {'response': ['AT\r', 'OK'], 'status': 0}
DEBUG: Response: ['ATE0\r\r\nOK\r\n']
DEBUG: Processed: ['ATE0\r', 'OK']
DEBUG: Response: ['\r\n+CREG: 0,2\r\n\r\nOK\r\n']
DEBUG: Processed: ['+CREG: 0,2', 'OK']
DEBUG: Fault: +CREG: 0,2
DEBUG: check_network_registration : {'response': ['+CREG: 0,2', 'OK'], 'status': 1}
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
DEBUG: check_communication       : {'response': ['OK'], 'status': 0}
DEBUG: Response: ['\r\n+CPIN: READY\r\n\r\nOK\r\n']
DEBUG: Processed: ['+CPIN: READY', 'OK']
DEBUG: Desired: +CPIN: READY
DEBUG: check_sim_ready           : {'response': ['+CPIN: READY', 'OK'], 'status': 0}
DEBUG: Response: ['\r\n+CGDCONT: 1,"IP","super","0.0.0.0",0,0,0\r\n\r\nOK\r\n']
DEBUG: Processed: ['+CGDCONT: 1,"IP","super","0.0.0.0",0,0,0', 'OK']
DEBUG: Desired: +CGDCONT: 1,"IP","super","0.0.0.0",0,0,0
DEBUG: check_apn                 : {'response': ['+CGDCONT: 1,"IP","super","0.0.0.0",0,0,0', 'OK'], 'status': 0}
DEBUG: check_network_registration : {'response': ['+CREG: 0,2', 'OK'], 'status': 1}
DEBUG: Response: ['\r\n+CREG: 0,2\r\n\r\nOK\r\n']
DEBUG: Processed: ['+CREG: 0,2', 'OK']
DEBUG: Fault: +CREG: 0,2
...
DEBUG: check_network_registration : {'response': ['+CREG: 0,2', 'OK'], 'status': 1}
DEBUG: failure                   : {'response': ['+CREG: 0,2', 'OK'], 'status': 1}
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
DEBUG: Response: ['\r\n+CGACT: 1,0\r\n\r\nOK\r\n']
DEBUG: Processed: ['+CGACT: 1,0', 'OK']
DEBUG: check_pdp_context_status  : {'response': 'timeout', 'status': 2}
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
DEBUG: configure_tcp_ip_context  : {'response': ['OK'], 'status': 0}
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
DEBUG: deactivate_pdp_context    : {'response': ['OK'], 'status': 0}
DEBUG: Response: ['\r\nERROR\r\n']
DEBUG: Processed: ['ERROR']
DEBUG: activate_pdp_context      : {'response': ['ERROR'], 'status': 1}
DEBUG: failure                   : {'response': ['ERROR'], 'status': 1}
DEBUG: Processed: ['CONNECT']
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
INFO: Sending a GET request.
DEBUG: Response: ['\r\nOK\r\n']
DEBUG: Processed: ['OK']
DEBUG: Response: ['\r\nOK\r\n\r\n+QHTTPGET: 707\r\n']
DEBUG: Processed: ['OK', '+QHTTPGET: 707']
INFO: {'response': ['OK'], 'status': 0}
DEBUG: Processed: ['+CME ERROR: 705']
INFO: {'response': 'timeout', 'status': 2}

I ran an AT+COPS=? command and got the following:

DEBUG: Response: ['\r\n+COPS: (1,"Verizon","Verizon","311480",9),(1,"AT&T","AT&T","310410",9),(1,"Verizon","Verizon","311480",8),(1,"T-Mobile","T-Mobile","310260",9),,(0,1,2,3,4),(0,1,2)\r\n\r\nOK\r\n']
DEBUG: Processed: ['+COPS: (1,"Verizon","Verizon","311480",9),(1,"AT&T","AT&T","310410",9),(1,"Verizon","Verizon","311480",8),(1,"T-Mobile","T-Mobile","310260",9),,(0,1,2,3,4),(0,1,2)', 'OK']
{'response': ['+COPS: (1,"Verizon","Verizon","311480",9),(1,"AT&T","AT&T","310410",9),(1,"Verizon","Verizon","311480",8),(1,"T-Mobile","T-Mobile","310260",9),,(0,1,2,3,4),(0,1,2)', 'OK'], 'status': 0}

So there are networks out there. Is Verizon the only one offering CAT M? I think 9 is NB-IOT.

BTW, this is in Cupertino, CA.

As mentioned on the troubleshooting page, “+CREG: 0,2” indicates that your device is not registered on the network. If you are using the device for the first time, the network registration process may take a longer time initially, theoretically up to 10 minutes, but it is expected to register faster.

I tried the webhook and it seemed to work ok for me. It did auto update on the website.

Ok, so how do you recommend that I give it 10 minutes to register the first time? Your network.register_network times out after 5 minutes (per the code).

Do I just leave the modem powered on somehow after the example fails? Do I use ATCom to write some commands myself?

I was hoping that running one of the simple examples would just work to show that the board is working.

Thanks.

I tried a second board. I was hoping to hold off activating it until I got the first one working, but thought maybe I had a bad board. Same issue. Held it up high outside and still no connection.

I have no doubt that these boards work for most people, but I am not having a very good out-of-box experience.

Is there no CAT-M service in Cupertino? I have used CAT M modems here in the past with no issues, different antenna, of course.

Suggestions?

We’re truly sorry that your initial experience with our product fell short of expectations. Your feedback is incredibly valuable.
Network registration times can vary from region to region due to various reasons. The device is configured for easy network connection. I don’t think there’s a CAT-M coverage issue in the region you mentioned, especially since you’ve mentioned not having trouble with other modems. I have reset the connections for both of your devices now. Resetting the network connection can resolve general connectivity issues.

I left a modem powered up while I went for lunch. When I came back the flashing had changed (more on than off). Running a +CREG command gave a status of 5, registered.

Is this really the expected behavior of the BG95-M3 modem? Taking this long to (first?) connect? If this were part of a product it would definitely give a very bad first impression if you had to tell the user to wait (more than) 10 minutes to get the device connected to the network.

It doesn’t seem right. Is this a limitation of CAT M somehow? Or the on-board antenna?

I’ll try connecting again and see if it takes this long to connect the next day.

Thanks for any info.