EM7305 HW restricted: 'yes' / Hardware radio state: 'off'



I’m trying to access an EM7305 chip on a Panasonic FZ-G1 device under linux.
Unfortunately, it seems the hardware switch is activated and I found no physical switches on that device, so I suspect the hw radio state was turned off under windows, using a specific tool.

Anyway, I would like to switch this back on under Linux and found actually no way.

Here is all the informations I’ve:

# qmicli -p -d /dev/cdc-wdm2 --device-open-mbim --dms-get-manufacturer
[/dev/cdc-wdm2] Device manufacturer retrieved:
	Manufacturer: 'Sierra Wireless, Incorporated'

# qmicli -p -d /dev/cdc-wdm2 --device-open-mbim --dms-get-model
[/dev/cdc-wdm2] Device model retrieved:
	Model: 'EM7305'

# qmicli -p -d /dev/cdc-wdm2 --device-open-mbim --dms-get-revision 
[/dev/cdc-wdm2] Device revision retrieved:
	Revision: 'SWI9X15C_05.05.78.00 r34310 CARMD-EV-FRMWR3 2017/09/17 00:43:17'

# qmicli -d /dev/cdc-wdm2 --device-open-mbim --dms-get-operating-mode
[/dev/cdc-wdm2] Operating mode retrieved:
	Mode: 'low-power'
	HW restricted: 'yes'

# mbimcli -p -d /dev/cdc-wdm2 --query-radio-state
[/dev/cdc-wdm2] Radio state retrieved:
	     Hardware Radio State: 'off'
	     Software Radio State: 'on'

# mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id '515a478340cc1bff4b961703a53dd5fb38ef4027')
  Hardware |   manufacturer: 'Sierra'
           |          model: 'MBIM [1199:9041]'
           |       revision: 'SWI9X15C_05.05.78.00'
           |      supported: 'gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: '354078078284831'
  System   |         device: '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-7'
           |        drivers: 'cdc_mbim'
           |         plugin: 'Sierra'
           |   primary port: 'cdc-wdm2'
           |          ports: 'wwan0 (net), cdc-wdm2 (mbim)'
  Numbers  |           own : 'unknown'
  Status   |           lock: 'none'
           | unlock retries: 'sim-pin2 (3)'
           |          state: 'enabling'
           |    power state: 'low'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
           |        current: 'allowed: 2g, 3g, 4g; preferred: none'
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  3GPP     |           imei: '354078078284831'
           |  enabled locks: 'fixed-dialing'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   subscription: 'unknown'
           |   registration: 'unknown'
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

  Bearers  |          paths: 'none'

# uname -a
Linux Panasonic_FZ-G1 4.15.10 #4 SMP PREEMPT Tue May 15 12:58:53 CEST 2018 i686 GNU/Linux

May 24 19:09:28 Panasonic_FZ-G1 ModemManager[4487]: <info>  Simple connect started...
May 24 19:09:28 Panasonic_FZ-G1 ModemManager[4487]: <info>  Simple connect state (3/8): Enable
May 24 19:09:28 Panasonic_FZ-G1 ModemManager[4487]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
May 24 19:09:28 Panasonic_FZ-G1 NetworkManager[631]: <info>  [1527181768.4769] (cdc-wdm2): modem state changed, 'disabled' --> 'enabling' (reason: user-requested)
May 24 19:09:28 Panasonic_FZ-G1 ModemManager[4487]: <warn>  Cannot power-up: hardware radio switch is OFF

If someone could give me some hints on how to fix this issue ?

Thanks in advance,


For the record:

As a workaround, I finally fixed it by installing Windows 8.1 & the full drivers pack.
If someone found a way to do it directly under Linux, I would be pleased to know how he did it.