Difference between revisions of "Ericsson H5321 gw Mobile Broadband Module"

From ThinkWiki
Jump to: navigation, search
(ThinkPads this adapter may be found in)
(added category)
 
(15 intermediate revisions by 5 users not shown)
Line 28: Line 28:
  
 
==Wireless Modem==
 
==Wireless Modem==
The card works out of the box with the cdc_acm driver using NetworkManager tested on openSUSE 12.2
+
The card works out of the box with the cdc_acm driver using NetworkManager tested on openSUSE 12.2, 12.3, and 13.1 (cdc_acm, cdc_wdm, cdc_ncm).
  
 
== GPS ==
 
== GPS ==
 +
 +
Basically, the NMEA stream can be activated the same way as described in [[Ericsson F3507g Mobile Broadband Module#Using the card as a GPS receiver]]. E.g., to configure the GPS receiver to update every second and turn DGPS on, do {{cmdroot|echo -e "AT*E2GPSCTL{{{|=}}}1,1,1\r" >/dev/ttyACM1}}. Then, the NMEA stream on <tt>/dev/ttyACM2</tt> is activated by {{cmdroot|echo -e "AT*E2GPSNPD\r" >/dev/ttyACM2}}. However, the stream ends as soon as the <tt>/dev/ttyACM2</tt> device file is no longer opened.
 +
 +
=== gpsd ===
 +
{{cmdroot|gpsd /dev/ttyACM2}} will wait for a client, e.g. {{cmduser|xgps}}, before opening the <tt>/dev/ttyACM2</tt> device file and polling GPS. Therefore, {{cmdroot|echo -e "AT*E2GPSNPD\r" >/dev/ttyACM2}} is needed '''after''' the first client connects. When the last client is closed, the device file will be closed and the NMEA stream stops.
 +
 +
=== Mobile Broadband Modules ===
 
There is an unmaintained project [http://mbm.sourceforge.net/ Mobile Broadband Modules] created by Ericsson. It does not support the H5321 gw, the daemon won't start using modern kernels [https://github.com/mkotsbak/Mbm-gpsd/issues/2] and the GUI won't compile with latest glib.
 
There is an unmaintained project [http://mbm.sourceforge.net/ Mobile Broadband Modules] created by Ericsson. It does not support the H5321 gw, the daemon won't start using modern kernels [https://github.com/mkotsbak/Mbm-gpsd/issues/2] and the GUI won't compile with latest glib.
  
 
Here is someone who seems to have got something to work recently [http://sourceforge.net/mailarchive/forum.php?set=custom&viewmonth=&viewday=&forum_name=mbm-devel&style=nested&max_rows=50&submit=Change+View]
 
Here is someone who seems to have got something to work recently [http://sourceforge.net/mailarchive/forum.php?set=custom&viewmonth=&viewday=&forum_name=mbm-devel&style=nested&max_rows=50&submit=Change+View]
 +
 +
Using a recent distribution, it is possible to get the mbm-gpsd compiling and running. You need to install basic C development packages. Using openSUSE 12.3, the following additional packages are needed: dbus-1-devel, dbus-1-glib-devel, libudev-devel, libnl-1, mozilla-nss-devel, mozilla-nspr-devel, gtk-doc, docbook-dsssl-stylesheets, docbook-xsl-stylesheets, docbook_3, docbook_4, iso_ent, libsource-hightlight4, libxslt-tools, openjade, source-highlight, and xmlcharent. Furthermore, you must add "--disable-more-warnings" to the autogen.sh command line and modify the provided udev rule to support the H5321 gw.
 +
<pre>
 +
--- utils/99-mbm.rules  2013-04-01 14:22:17.789546987 +0200
 +
+++ /etc/udev/rules.d/99-mbm.rules      2013-04-02 19:35:03.361210978 +0200
 +
@@ -10,9 +10,11 @@
 +
ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8147|8183|8184|818d", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 +
ATTRS{idVendor}=="0930", ATTRS{idProduct}=="130b|130c|1311", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 +
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1900|1902|1904|1905|1906|1907|1911|190d", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 +
+ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 +
 +
ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8147|8183|8184|818d", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
 +
ATTRS{idVendor}=="0930", ATTRS{idProduct}=="130b|130c|1311", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
 +
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1900|1902|1904|1905|1906|1907|1911|190d", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
 +
+ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{MBM_CAPABILITY}="gps_ctrl"
 +
 +
LABEL="mbm_end"
 +
</pre>
  
 
== Command set at /dev/ttyACM1 ==                                 
 
== Command set at /dev/ttyACM1 ==                                 
Line 265: Line 290:
 
  Z
 
  Z
  
==ThinkPads this adapter may be found in==
+
[[Category:Edge Twist]]
*{{T430}} {{T430s}} {{T530}}
+
[[Category:L430]]
*{{L430}} {{L530}}
+
[[Category:T430s]]
*{{X230}} {{X230T}}
+
[[Category:T430]]
*{{W530}}
+
[[Category:T530]]
 +
[[Category:X230 Tablet]]
 +
[[Category:X230]]
  
[[Category:Edge Twist]]
+
[[Category:WWAN Adapters]]
[[Cathegory:L430]]
 

Latest revision as of 15:41, 22 January 2021

Ericsson H5321 gw Mobile Broadband Module

This is a Ericsson WWAN Adapter that is installed in a Mini-PCI Express slot

Features

  • Chipset: Ericsson H5321 gw
Ericsson H5321 gw WWAN Adapter

Lenovo Partnumbers

  • FRU 0A36319

Overview

Using

for n in `ls /sys/class/*/*{ACM,wdm}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done

the card identifies it's interfaces as

ttyACM0 : H5321 gw Mobile Broadband Modem
ttyACM1 : H5321 gw Mobile Broadband Data Modem
ttyACM2 : H5321 gw Mobile Broadband GPS Port
cdc-wdm0 : H5321 gw Mobile Broadband Device Management
cdc-wdm1 : H5321 gw Mobile Broadband USIM Port

Wireless Modem

The card works out of the box with the cdc_acm driver using NetworkManager tested on openSUSE 12.2, 12.3, and 13.1 (cdc_acm, cdc_wdm, cdc_ncm).

GPS

Basically, the NMEA stream can be activated the same way as described in Ericsson F3507g Mobile Broadband Module#Using the card as a GPS receiver. E.g., to configure the GPS receiver to update every second and turn DGPS on, do # echo -e "AT*E2GPSCTL=1,1,1\r" >/dev/ttyACM1. Then, the NMEA stream on /dev/ttyACM2 is activated by # echo -e "AT*E2GPSNPD\r" >/dev/ttyACM2. However, the stream ends as soon as the /dev/ttyACM2 device file is no longer opened.

gpsd

# gpsd /dev/ttyACM2 will wait for a client, e.g. $ xgps, before opening the /dev/ttyACM2 device file and polling GPS. Therefore, # echo -e "AT*E2GPSNPD\r" >/dev/ttyACM2 is needed after the first client connects. When the last client is closed, the device file will be closed and the NMEA stream stops.

Mobile Broadband Modules

There is an unmaintained project Mobile Broadband Modules created by Ericsson. It does not support the H5321 gw, the daemon won't start using modern kernels [1] and the GUI won't compile with latest glib.

Here is someone who seems to have got something to work recently [2]

Using a recent distribution, it is possible to get the mbm-gpsd compiling and running. You need to install basic C development packages. Using openSUSE 12.3, the following additional packages are needed: dbus-1-devel, dbus-1-glib-devel, libudev-devel, libnl-1, mozilla-nss-devel, mozilla-nspr-devel, gtk-doc, docbook-dsssl-stylesheets, docbook-xsl-stylesheets, docbook_3, docbook_4, iso_ent, libsource-hightlight4, libxslt-tools, openjade, source-highlight, and xmlcharent. Furthermore, you must add "--disable-more-warnings" to the autogen.sh command line and modify the provided udev rule to support the H5321 gw.

--- utils/99-mbm.rules  2013-04-01 14:22:17.789546987 +0200
+++ /etc/udev/rules.d/99-mbm.rules      2013-04-02 19:35:03.361210978 +0200
@@ -10,9 +10,11 @@
 ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8147|8183|8184|818d", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 ATTRS{idVendor}=="0930", ATTRS{idProduct}=="130b|130c|1311", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1900|1902|1904|1905|1906|1907|1911|190d", ENV{.MBM_USBIFNUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
+ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
 
 ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8147|8183|8184|818d", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
 ATTRS{idVendor}=="0930", ATTRS{idProduct}=="130b|130c|1311", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
 ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1900|1902|1904|1905|1906|1907|1911|190d", ENV{.MBM_USBIFNUM}=="05", ENV{MBM_CAPABILITY}="gps_ctrl"
+ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{MBM_CAPABILITY}="gps_ctrl"
 
 LABEL="mbm_end"

Command set at /dev/ttyACM1

*                                                                            
&C                                                                           
+CACM                                                                        
+CAMM                                                                        
+CBST                                   
+CCHC                                   
+CCHO                                   
+CCLK                                   
+CCWE                                   
+CEAP                                   
+CEER
+CERP
+CFUN
+CGACT                                                                          
+CGATT                                                                          
+CGCLASS                                                                        
+CGCMOD                                                                         
+CGDCONTRES                                                                     
+CRLA                                                                           
+CRLP                                                                           
+CRSM                                                                           
+CSAS                                                                           
+CSCA                                                                           
+CSCB                                                                           
+CSCS                                                                           
+CSMS                                                                           
+CSQ                                                                            
+CUAD                                                                           
+CUSD                                                                           
+CVHU                                                                           
&D                                                                              
E                                                                               
*E2ARME                                                                         
*E2ARMEFLUSH                                                                    
*E2ARMEOP*EESIMSWAP                                                             
*EETIME                                                                         
*EEVINFO                                                                        
*EFDORM                                                                         
*EGNCI                                                                          
*EGPSSAT                                                                        
*EGSCI                                                                          
*EIAAUR                                                                         
*EIAAUW                                                                         
*EIAC                                                                           
*EIAD                                                                           
*EIAIPCPR                                                                       
*EIAIPCPW                                                                       
*EIAPSR                                                                         
*EIAPSW                                                                         
*   

Command set at GPS port /dev/ttyACM2

*                                                                            
&C                                                                           
+CACM                                   
+CAMM                                   
+CBST                                   
+CCHC                                   
+CCHO                                   
+CCLK                                   
+CCWE
+CEAP
+CEER
+CERP
+CFUN
+CGACT
+CGATT
+CGCLASS
+CGCMOD
+CGDCONT
+CGEQMIN
+CGEQNEG
+CGEQREQ
+CGEREP
+CGLA
+CGMI
+CGMM
+CGMR
+CGPADDR
+CGQMIN
+CGQREQ
+CGREG
+CGSMS
+CGSN
+CGTFTRDP
+CHSU
+CIMI
+CIND
+CLAC
+CLCK
+CMEC
+CMEE
+CMER
+CMGC
+CMGD
+CMGF
+CMGL
+CMGR
+CMGS
+CMGW
+CMMS
+CMOLR
+CMOLRE
+CMSS
+CMUX
+CNMI
+CNUM
+COPN
+COPS
+CPBF
+CPBR
+CPBS
+CPBW
+CPIN
+CPMS
+CPOL
+CPUC
+CPWD
+CR
+CRC
+CREG
+CRES
+CRLA
+CRLP
+CRSM
+CSAS
+CSCA
+CSCB
+CSCS
+CSMS
+CSQ
+CUAD
+CUSD
+CVHU
&D
E
*E2ARME
*E2ARMEFLUSH
*E2ARMEOPM
*E2ARMETIME
*E2CFUN
*E2CHAN
*E2GPSCLM
*E2GPSCTL
*E2GPSEPH
*E2GPSLOC
*E2GPSNPD
*E2GPSPOS
*E2GPSQUALITY
*E2GPSSTAT
*E2GPSSUPL
*E2GPSSUPLNI
*E2GPSSUPLNIREPLY
*E2GPSTIME
*E2IPCFG
*E2NAP
*E2OTR
*E2REG
*E2RESET
*EATTM
*ECSP
*EECUST
*EECUSTPAGE
*EEGPSEECLM
*EEGPSEEDATA
*EEGPSEESTAT
*EEGPSNMEA
*EELED
*EEMAPPSETTING
*EEMENABLETX
*EEMSOSDESC
*EEPOWRED
*EERPOL
*EESIMSWAP
*EETIME
*EEVINFO
*EFDORM
*EGNCI
*EGPSSAT
*EGSCI
*EIAAUR
*EIAAUW
*EIAC
*EIAD
*EIAIPCPR
*EIAIPCPW
*EIAPSR
*EIAPSW
*EIAR
*EIAW
*EMBBR
*EMIBRR
*EMRDY
*ENAP
*ENNIR
*EPBR
*EPBW
*EPEE
*EPHD
*EPIN
*EPSB
*ERINFO
*ESIM
*ESIMSR
*ESTKIDLSCR
*ESTKMENU
*ESTKRES
*ESTKS
*ESTKUSRACT
*ETCHF96
*ETZR
*EWNCI
*EWSCI
&F
+GCAP
+GMI
+GMM
+GMR
H
I
+PACSP
*STKC
*STKE
*STKR
V
&W
Z