How to use BPI-4G LTE module with BPI-R2

Hello, actually 14 pin header is usb on hardware. So there is no different with usb and 14 pin header.

If you use 14 pin header,please don’t connect usb cable.

Got the same issue - EC25-E is listed in lsusb when connecting via usb cable, but when connecting to 14pin header - it’s not visible anywhere (lspci, lsusb, dmesg).

Maybe something specific needs to be set in the dts to use 14pin usb?

What is 14 pins USB you meant here? 7623 only export 2 USB totally ports here.

14 pin header mentioned in the first post, it’s on the right hand side of the daughter board in photo from first post in this thread.

It’s for sure powering the card (red led), but looks like the usb is not “discovered” by the system, that’s why I thought about some device tree modification required.

just to be clear: 14pin-header is on LTE-module, not on BPI-R2…i see no connection-sheme for it…how did you connect it?

Hello, we have two types of 4G module,the left one is mPCIE 4G module,the right one is Embeded 4G module.

image

If you use mPCIE 4G module, please use this script to set GPIO34 as out highlevel. @urban @linkerosa @asprakash @frank-w

  • ./mt_gpio.sh 34 dir out

  • ./mt_gpio.sh 34 val 1

mt_gpio.sh (969 字节)

is it possible to follow a common way to program gpio ? and see if it is also workable

https://www.kernel.org/doc/Documentation/gpio/sysfs.txt

I believe people always like to learn one thing, apply knowledge across all version of kernels and platform and not to invent such kind of specific script to do it.

Hello, Thanks for your advice,I just want to make it easy to use,we could also use the common ways.

  1. cd /sys/class/gpio/
  2. echo 266 > export ## 266(gpio_offset) = 232(base) + 34(GPIO_34)
  3. cd gpio266/
  4. echo out > direction
  5. echo 1 > value
1 Like

Got it. it is not necessary to change DTS

because 14-pin header seems export just another path to USB port 0 as the exported USB slot already is done

USB port 0 should be mapped to in DTS at

https://elixir.bootlin.com/linux/v4.17-rc1/source/arch/arm/boot/dts/mt7623.dtsi#L796

it looks like to leave an opportunity for customization for the board, so

it should be enough for general people to use the exported USB slot instead

1 Like

No, it is really present on bpi r2 v1.1. 14 pin header is locating near between usb and switch mt7530 port 4.

it’s been reserved for customized pcie, usb such kind high speed application for their customers.

general people can ignore. I guessed.

Thanks for all your input. @Jackzeng I am using mPCIE 4G module. I will follow your instructions and update you once it is tested.

It’s 266 not 267 (figured that out from mt_gpio.sh, which worked).

So the easiest way to enable that is

echo 266 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio266/direction
echo 1 > /sys/class/gpio/gpio266/value

And after that the module works fine.

Thanks Jackzeng!

2 Likes

Just curious to know if this 4G module is compatible with Raspberry pi board?.

probably not, but if you add driver to the code, possibly yes.

Hi. I am using Ubuntu 16.04 image and run the quectel program with 4G module. I am getting the following which I could not understand why the wwan0 disappear when we call dhclient,

> root@bpi-iot-ros-ai:~/quectel-CM# ./quectel-CM &
> [1] 15185
> [05-02_18:34:11:572] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
> [05-02_18:34:11:572] ./quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)
> [05-02_18:34:11:573] Find /sys/bus/usb/devices/1-1 idVendor=2c7c idProduct=0125
> [05-02_18:34:11:573] Find /sys/bus/usb/devices/1-1:1.4/net/wwan0
> [05-02_18:34:11:573] Find usbnet_adapter = wwan0
> [05-02_18:34:11:573] Find /sys/bus/usb/devices/1-1:1.4/usbmisc/cdc-wdm0
> [05-02_18:34:11:573] Find qmichannel = /dev/cdc-wdm0
> root@bpi-iot-ros-ai:~/quectel-CM# [05-02_18:34:11:713] cdc_wdm_fd = 7
> [05-02_18:34:11:813] Get clientWDS = 19
> [05-02_18:34:11:845] Get clientDMS = 1
> [05-02_18:34:11:877] Get clientNAS = 3
> [05-02_18:34:11:910] Get clientUIM = 1
> [05-02_18:34:11:941] Get clientWDA = 1
> [05-02_18:34:11:973] requestBaseBandVersion EC25EFAR02A08M4G
> [05-02_18:34:12:070] requestGetSIMStatus SIMStatus: SIM_READY
> [05-02_18:34:12:101] requestGetProfile[1] www///0
> [05-02_18:34:12:136] requestRegistrationState2 MCC: 404, MNC: 84, PS: Attached, DataCap: LTE
> [05-02_18:34:12:165] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
> [05-02_18:34:12:230] requestRegistrationState2 MCC: 404, MNC: 84, PS: Attached, DataCap: LTE
> [05-02_18:34:12:293] requestSetupDataCall WdsConnectionIPv4Handle: 0x879a1100
> [05-02_18:34:12:357] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
> [05-02_18:34:12:390] ifconfig wwan0 up
> [05-02_18:34:12:400] busybox udhcpc -f -n -q -t 5 -i wwan0
> [05-02_18:34:12:406] udhcpc (v1.22.1) started
> [05-02_18:34:12:474] Sending discover...
> [05-02_18:34:12:614] Sending select for 10.66.46.245...
> [05-02_18:34:12:744] Lease of 10.66.46.245 obtained, lease time 7200
> 
> root@bpi-iot-ros-ai:~/quectel-CM# dhclient wwan0
> root@bpi-iot-ros-ai:~/quectel-CM# [05-02_18:34:24:204] QmiWwanThread poll err/hup/inval
> [05-02_18:34:24:204] poll fd = 7, events = 0x0018
> [05-02_18:34:24:204] QmiWwanThread exit
> [05-02_18:34:24:204] ifconfig wwan0 down
> wwan0: ERROR while getting interface flags: No such device
> [05-02_18:34:24:235] main exit

Any kind of help is appreciated. TIA.

Hello,it looks strange, when you use dhcp to get IP, but /quectel-CM exit, let me have a look.

Hello,Could you please show these logs?

  1. Do this command to check device:ls /dev/ttyUSB*

  2. After you execute ./quectel-CM &,and after you dhclient wwan0,if wwan0 is down,please check device again:ls /dev/ttyUSB*

  3. if /dev/ttyUSB* is exist, please do minicom -D /dev/ttyUSB2, and do these commands to check 4g module statue:

  • at+csq
  • at+ccid
  • at+cgreg?

Hi. Check my reply.

  1. ls /dev/ttyUSB*

    ls: cannot access ‘/dev/ttyUSB*’: No such file or directory

  2. quectel-cm quit, because of no wwan0 device and gives same result for “ls /dev/ttyUSB*”.

  3. Not able to do since there was no wwan0.

so your image don’t recognise the 4g module? you don’t have /dev/ttyUSB*?

@Jackzeng No. The module initially mounted on the ttyUSB0-3 and automatically unmounted only after I call quectel-cm & dhclient wwan0. My dmesg message is as follows,

> [   83.279885] i2c /dev entries driver
[   86.865460] xhci-mtk 1a1c0000.usb: xHCI host not responding to stop endpoint command.
[   86.865602] xhci-mtk 1a1c0000.usb: Assuming host is dying, halting host.
[   86.866204] option1 ttyUSB0: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.866390] option1 ttyUSB0: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.866547] option1 ttyUSB0: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.866697] option1 ttyUSB0: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.867029] option1 ttyUSB1: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.867181] option1 ttyUSB1: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.867331] option1 ttyUSB1: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.867487] option1 ttyUSB1: usb_wwan_indat_callback: resubmit read urb failed. (-22)
[   86.867836] qmi_wwan 1-1:1.4: Tx URB error: -22
[   86.868564] qmi_wwan 1-1:1.4: Tx URB error: -22
[   86.869260] qmi_wwan 1-1:1.4: Tx URB error: -22
[   86.869882] xhci-mtk 1a1c0000.usb: HC died; cleaning up
[   86.869979] qmi_wwan 1-1:1.4: Tx URB error: -22
[   86.870710] usb 1-1: USB disconnect, device number 2
[   86.879981] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[   86.880438] option 1-1:1.0: device disconnected
[   86.888800] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[   86.888892] option 1-1:1.1: device disconnected
[   86.891991] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[   86.892081] option 1-1:1.2: device disconnected
[   86.896328] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[   86.896414] option 1-1:1.3: device disconnected
[   86.896735] qmi_wwan 1-1:1.4 wwan0: unregister 'qmi_wwan' usb-1a1c0000.usb-1, WWAN/QMI device
[   86.946338] Alignment trap: not handling instruction e8503f00 at [<b6ac0ca4>]
[   86.946379] Unhandled fault: alignment exception (0x001) at 0x65676173
[   86.946387] pgd = db280000
[   86.946393] [65676173] *pgd=00000000

TIA.