Zte-mf730m 42Mbps 3G howto and request for further assistance
-
Using pfsense 2.1.3 (and 2.2 snapshots a while back) I have managed to cobble together a partially working 3g wan config with this DC-HSDPA 42Mbps dongle.
My discovery is that to change this 42Mbps dongle issued by 3 (at least in the UK) to a usable if_cdce mode (ie ue0) from the useless storage mode one simply has to execute the following:-usbconfig dump_all_config_desc
usbconfig dump_all_config_desc
usbconfig dump_all_config_descie a simple usb dump command 3 times in a row.
That little number took me a massive amount of time to stumble across. No amount of usb_modeswitching gave any joy. I have started a thread at usb_modeswitch for an alternative but the above works reliable as far as switching the device in pfsense and in FreeBSD 10 and has the very attractive aspect of needing no additional software.So to automate the execution of the above otherwise harmless (hopefully) commands I did the following:-
ssh into pfsenseif using the nano variant of pfsense one must first:- /etc/rc.conf_mount_rw
thencat << EOF > /usr/local/sbin/zte-mf730m-switch
#!/bin/sh
usbconfig dump_all_config_desc
usbconfig dump_all_config_desc
usbconfig dump_all_config_desc
sleep 10
EOFchmod a+x /usr/local/sbin/zte-mf730m-switch
cat << EOF > /usr/local/etc/devd/zte-mf730m.conf
notify 100 {
match "system" "USB";
match "subsystem" "DEVICE";
match "type" "ATTACH";
match "vendor" "0x19d2";
match "product" "0x1420";
action "/usr/local/sbin/zte-mf730m-switch";
};
EOFand if using nano variant a return to read only root with:- /etc/rc.conf_mount_ro
Then a:-
/etc/rc.d/devd restart
to enable the new devd rule.
My remaining problem is that during boot or plugin of the device there is a 6 minute delay with the following terminal output:-
run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
(probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
(probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:0): Retrying command
.
..repeating
.
run_interrupt_driven_hooks: still waiting after 300 seconds for xpt_config
(probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
(probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:0): Error 5, Retries exhaustedand then a normal boot continues if we are in deed booting.
The plugin 6 minute pause can be avoided by first adding the following USB quirks:-
usbconfig add_dev_quirk_vplh 0x19d2 0x1420 0xf0f7 0xf0f7 UQ_MSC_NO_GETMAXLUN
usbconfig add_dev_quirk_vplh 0x19d2 0x1420 0xf0f7 0xf0f7 UQ_MSC_NO_INQUIRYBut there will still be a 6 minute hang on power up with the device plugged in which I don't know how to get around.
This is the case in pfsense 2.1.3 and 2.2 (although when I last tried with 2.2 it was missing if_cdce.ko and if_cdce.ko.symbols (not sure if needed) but copying them from FreeBSD10 worked)
https://forum.pfsense.org/index.php?topic=74664.msg409078#msg409078Does anyone know how I can add the above usb quirks to pfsense or can we have them added to the kernel on the next release.
I believe they have to be added to some quirks kernel file and a kernel recompilation later and we are done.The above arrangement is still a little flaky but with a 6 minute wait at the trial of anything involving a reboot it is incredibly frustrating to try anything out so that is why I offer my findings so far; and request help with adding the quirks to the kernel.
As is stands occasionally during boot the ue0 interface is not found but without these quirks added to the kernel some how it is an inhumane task to approach.
It would be great if we could support this dongle as it looks to be so close.
Thanks for any help anyone can provide. -
<bump>did you get any further with this?</bump>
-
I am having the same problem… If this card was supported would enable a very good UK 4G solution as this is a very popular stick... :)
has anyone made any progress on this ?
Cheers
Rich