Qfirehose on Rooter
Forum rules
Use the SEARCH function for related topics PRIOR to posting a new topic on the same subject.
Use the SEARCH function for related topics PRIOR to posting a new topic on the same subject.
Qfirehose on Rooter
Hello,
Does anybody have some experience with QFirehose running on Rooter and used for uploading firmware into Quectel modems without removing ones from the router (i.e. firmware upgrade does not require moving the modem into separate a USB2/USB3 adapter)?
I see the make and gcc are available in GoldenOrb_2021-10-05 ( OpenWrt 21.02.0-rc3 ) repository, QFirehose is in Git and this is a pretty small project i.e. I might to try building it right in the WG1608 (or may be even better - in a virtual machine).
But before spending any time on that I would like to ask the community if someone already has done something similar in the past or at least used QFirehose.
Does anybody have some experience with QFirehose running on Rooter and used for uploading firmware into Quectel modems without removing ones from the router (i.e. firmware upgrade does not require moving the modem into separate a USB2/USB3 adapter)?
I see the make and gcc are available in GoldenOrb_2021-10-05 ( OpenWrt 21.02.0-rc3 ) repository, QFirehose is in Git and this is a pretty small project i.e. I might to try building it right in the WG1608 (or may be even better - in a virtual machine).
But before spending any time on that I would like to ask the community if someone already has done something similar in the past or at least used QFirehose.
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
I so need to learn this. As for now it's just on my list.
Dairyman has some stuff on it I think.... I'll have to ask.
Dairyman has some stuff on it I think.... I'll have to ask.
Re: Qfirehose on Rooter
Looks like someone has done something like that56387f wrote: ↑Sun Nov 07, 2021 11:13 pm Hello,
Does anybody have some experience with QFirehose running on Rooter and used for uploading firmware into Quectel modems without removing ones from the router (i.e. firmware upgrade does not require moving the modem into separate a USB2/USB3 adapter)?
I see the make and gcc are available in GoldenOrb_2021-10-05 ( OpenWrt 21.02.0-rc3 ) repository, QFirehose is in Git and this is a pretty small project i.e. I might to try building it right in the WG1608 (or may be even better - in a virtual machine).
But before spending any time on that I would like to ask the community if someone already has done something similar in the past or at least used QFirehose.
https://forum.gl-inet.com/t/quectel-ec2 ... fi/16491/7
Re: Qfirehose on ROOter
That is interesting, thanks.semsem wrote: ↑Tue Nov 16, 2021 1:13 pm Looks like someone has done something like that
https://forum.gl-inet.com/t/quectel-ec2 ... fi/16491/7
I looked at it a couple of days ago and indeed extroot is needed because ROOter (I installed the "full" image with load balancing on board and such) did not leave any space for extra modules on my WG1608.
On the other hand it is possible to build Qfirehose inside of a virtual machine instead.
The thing is that so far I am quite satisfied with the work on my EM160R=GL in WG1608. Therefore, despite the fact that the modem does not run the latest firmware I will probably refrain from reflushing it right now since I know what I am going to lose but not sure what I will gain.
Re: Qfirehose on ROOter
If it ain't broke, don't fix it Can you please elaborate more on the virtual machine method? Am I understanding correctly that with that method I could upgrade my Quectel modem firmware without having to use an M.2 to usb adapter? Thank you!56387f wrote: ↑Tue Nov 16, 2021 10:48 pm That is interesting, thanks.
I looked at it a couple of days ago and indeed extroot is needed because ROOter (I installed the "full" image with load balancing on board and such) did not leave any space for extra modules on my WG1608.
On the other hand it is possible to build Qfirehose inside of a virtual machine instead.
The thing is that so far I am quite satisfied with the work on my EM160R=GL in WG1608. Therefore, despite the fact that the modem does not run the latest firmware I will probably refrain from reflushing it right now since I know what I am going to lose but not sure what I will gain.
Re: Qfirehose on Rooter
I was speaking about VMware, I have 2 versions (15/18) of OpenWRT installed in virtual machines. VMware runs on PC (i.e. Intel x86_64). Therefore to install OpenWRT inside of Vmware one should use the image for x86_64 CPU. The detailed instructions are here:
https://openwrt.org/docs/guide-user/vir ... ion/vmware
When everything is installed one just uses SSH (installing Midnight Commander on the client really helps) to manage OpenWRT. You can also access the OpwnWRT virtual machine using LuCi from a different virtual machine.
The issue that may arise is USB connectivity. When a USB device reboots it is not always connects to the same virtual machine meaning that it is less convenient than just putting the modem on USB adapter and connecting it right to the computer running Windows or Linux and use the native Quectel tools.
On the other hand this utility (Qfirehose) does not require OpenWrt it can be built and run on Linux (but it does not make a lot of sense see below)
But the most important thing to understand: when you build Qfirehose (any executable binary) on OpenWrt installed in a virtual machine (x86_64 architecture) or on Linux (again most likely x86_64 architecture) then you must run it on the same CPU (x86_64). That means 2 things:
a) you cannot copy the built Qfirehose on WG1608 it uses a totally different CPU;
b) you can run the built Qfirehose (built for x86_64) only on x86_64 CPU, meaning that you will have to move the modem to an external USB adapter - then what is the point in building it? Just use the native tools.
There is another way to do that - use cross compilation i.e. compile Qfirehose on x86_64 but set the target CPU to MT7621 to compile the executable that is compatible (and therefore can be run) with WG1608. Whether or not gcc available on my 2 VMs (running outdated versions of OpenWRT) supports this target (MT7621) is a different question. And not willing to spend any time on figuring that out I decided to ask people who may have done that already.
Re: Qfirehose on Rooter
And one more thing: whether or not one should upgrade the firmware of his EM160R. I checked the release notes available here:
https://forums.quectel.com/uploads/shor ... wjBPSv.pdf
for ver. 05 they say the following: I wish it could be true because somehow I doubt that I see the right speeds even when the aggregation kicks in. But before I decide to update the modem's firmware I will try to use it in a good USB 3 enclosure to make sure that neither WG1608 not ROOter limit the data exchange speed.
BTW the router itself (WG1608) is hardly capable to handling high data transfer rates - I connect its WAN port to the 1Gb internet link and run a speed test from a client connected to a LAN port. At the same time I have another computer connected right to the 1Gbps internet link using the same speed test (the same test server). WG1608 can not provide more than 300 Mbps/300 Mbps (up/down) speed despite 1Gbps WAN/LAN ports while another computer shows 600 Mbps down/500 Mbps up. Well, if my tests are correct then one using CAT 6 modem in this router should get almost the same results as I using CAT-16 modem.
https://forums.quectel.com/uploads/shor ... wjBPSv.pdf
for ver. 05 they say the following: I wish it could be true because somehow I doubt that I see the right speeds even when the aggregation kicks in. But before I decide to update the modem's firmware I will try to use it in a good USB 3 enclosure to make sure that neither WG1608 not ROOter limit the data exchange speed.
BTW the router itself (WG1608) is hardly capable to handling high data transfer rates - I connect its WAN port to the 1Gb internet link and run a speed test from a client connected to a LAN port. At the same time I have another computer connected right to the 1Gbps internet link using the same speed test (the same test server). WG1608 can not provide more than 300 Mbps/300 Mbps (up/down) speed despite 1Gbps WAN/LAN ports while another computer shows 600 Mbps down/500 Mbps up. Well, if my tests are correct then one using CAT 6 modem in this router should get almost the same results as I using CAT-16 modem.
You do not have the required permissions to view the files attached to this post.
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
Thats wierd how it works though. I have pulled about 380Mbps down on a WG1608 with an RM502 modem, and cennected to ethernet. Sprint 5G SIM.
The capability of the site is bery subjective, making general hardware recommendations hard to make.
The capability of the site is bery subjective, making general hardware recommendations hard to make.
Re: Qfirehose on Rooter
Thank you so much. Now I know why my Quectel rm502q-ae installed in WG1608 router is stuck on 150-210 mbps even with external antennas, while my Huawei H122-373 router is able to give 300-320 mbps with only internal antennas. I have to find a quality M.2 to USB 3 adapter to test that out. If you guys can recommend a good one from your experience please share with me Thank you!56387f wrote: ↑Thu Nov 18, 2021 2:56 pm And one more thing: whether or not one should upgrade the firmware of his EM160R. I checked the release notes available here:
https://forums.quectel.com/uploads/shor ... wjBPSv.pdf
for ver. 05 they say the following:
ver5.jpg
I wish it could be true because somehow I doubt that I see the right speeds even when the aggregation kicks in. But before I decide to update the modem's firmware I will try to use it in a good USB 3 enclosure to make sure that neither WG1608 not ROOter limit the data exchange speed.
BTW the router itself (WG1608) is hardly capable to handling high data transfer rates - I connect its WAN port to the 1Gb internet link and run a speed test from a client connected to a LAN port. At the same time I have another computer connected right to the 1Gbps internet link using the same speed test (the same test server). WG1608 can not provide more than 300 Mbps/300 Mbps (up/down) speed despite 1Gbps WAN/LAN ports while another computer shows 600 Mbps down/500 Mbps up. Well, if my tests are correct then one using CAT 6 modem in this router should get almost the same results as I using CAT-16 modem.
Re: Qfirehose on Rooter
Actually our numbers are not very different 300 vs 380. Modem plays no role in my test but what does matter (that is my guess and I can be mistaken) if what software your router has, what services are enabled, what firewall rules are used. After all, the CPU in this router is not very powerful and that matters a lot.Didneywhorl wrote: ↑Thu Nov 18, 2021 6:36 pm Thats wierd how it works though. I have pulled about 380Mbps down on a WG1608 with an RM502 modem, and cennected to ethernet. Sprint 5G SIM.
The capability of the site is bery subjective, making general hardware recommendations hard to make.
I run pfsense on 2 different mini PC (Qotom)
https://www.amazon.com/128GB-celeron-Pr ... CGK2Y?th=1
One is Intel Celeron j1900 processor (quad core 2.0 GHz) another is quad core 2.9 GHz and I know from my experience that if I enable a lot of services to inspect the traffic then the router will not be able to handle 1Gbps internet connection ( or even close to this number).
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
Makes sense, really. These routers are made for one purpose really. But they definitely aren't a routing powerhouse.
I have gotten over 400Mbps down using a cat20 modem (EM20G) in a WG3526/NEXP1GO router. Basically the exact same thing as a WG1608 as far as the SoC and firmware. But as each new version of openWRT base comes out and more tweaks get added to goldenorb, the footprint starts to overfill its bounds a bit.
I have gotten over 400Mbps down using a cat20 modem (EM20G) in a WG3526/NEXP1GO router. Basically the exact same thing as a WG1608 as far as the SoC and firmware. But as each new version of openWRT base comes out and more tweaks get added to goldenorb, the footprint starts to overfill its bounds a bit.
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
https://thewirelesshaven.com/shop/mini- ... new-style/semsem wrote: ↑Thu Nov 18, 2021 7:14 pm Thank you so much. Now I know why my Quectel rm502q-ae installed in WG1608 router is stuck on 150-210 mbps even with external antennas, while my Huawei H122-373 router is able to give 300-320 mbps with only internal antennas. I have to find a quality M.2 to USB 3 adapter to test that out. If you guys can recommend a good one from your experience please share with me Thank you!
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
56387f wrote: ↑Thu Nov 18, 2021 7:51 pm ...
I run pfsense on 2 different mini PC (Qotom)
https://www.amazon.com/128GB-celeron-Pr ... CGK2Y?th=1
One is Intel Celeron j1900 processor (quad core 2.0 GHz) another is quad core 2.9 GHz and I know from my experience that if I enable a lot of services to inspect the traffic then the router will not be able to handle 1Gbps internet connection ( or even close to this number).
I REALLY need to start playing with these.
Re: Qfirehose on Rooter
That would be my choice as well. Your modem requires more power comparing to the older CAT4 - CAT6 modems and having a separate power adapter (i.e. not to rely on USB 3 5Vx 0,9A source) is a a must if you want to be sure that you would never experience strange reboots and hand-ups (they still may happen but it will not be power related problems).
Plus this enclosure has embedded heat sink and can be used with newer modems which are physically bigger.
Re: Qfirehose on Rooter
Hello,
I found some free time and built QFirehose on WG1608 (after installing extroot since this device does not have enough memory to install all necessary tools) - upgrade of EM160 firmware installed in the router actually works (should work for other Quectel modems too).
But there is a problem:
a) my EM160 is the engineering sample ;
b) I was trying to use 07, 07 BETA, 08 (the latest available one) firmw. versions and none of them actually worked. Looks like the modem is getting a new Vendor ID / Product ID (05c6:9008) and switches to PPP mode - rooter does not recognizes it; I have a strange idea that this issue occurs because I use the engineering sample and not the production unit but I might be wrong.
c) I am successfully reverting back to ver. 04 and the modem gets the original Vendor ID / Product ID (2c7c:0620) and runs in MBIM mode - everything works fine.
So, as far as I am concerned the built Quectel firmware upgrade utility works on WG1608.
Before I was running 05 firm. version but I already overwrote it with the newer and older versions and now run 04 version. I would like to go back to my original 05 version therefore may be someone has EM160R firmware ver. 05 i.e. EM160RGLAUR02A05M4G.zip file?
Thanks!
I found some free time and built QFirehose on WG1608 (after installing extroot since this device does not have enough memory to install all necessary tools) - upgrade of EM160 firmware installed in the router actually works (should work for other Quectel modems too).
But there is a problem:
a) my EM160 is the engineering sample ;
b) I was trying to use 07, 07 BETA, 08 (the latest available one) firmw. versions and none of them actually worked. Looks like the modem is getting a new Vendor ID / Product ID (05c6:9008) and switches to PPP mode - rooter does not recognizes it; I have a strange idea that this issue occurs because I use the engineering sample and not the production unit but I might be wrong.
c) I am successfully reverting back to ver. 04 and the modem gets the original Vendor ID / Product ID (2c7c:0620) and runs in MBIM mode - everything works fine.
So, as far as I am concerned the built Quectel firmware upgrade utility works on WG1608.
Before I was running 05 firm. version but I already overwrote it with the newer and older versions and now run 04 version. I would like to go back to my original 05 version therefore may be someone has EM160R firmware ver. 05 i.e. EM160RGLAUR02A05M4G.zip file?
Thanks!
Re: Qfirehose on Rooter
Hello,
I used QFlash v.5.1 , drivers Quectel_LTE&5G_Windows_USB_Driver_V2.1 and the firmware EM160RGLAUR02A08M4G.zip(firmware files from the dir. firehose) and my EM160R has been successfully upgraded.
It's a pity that qfirehose could not upgrade the firmware to the latest version in place (on rooter) since that would eliminate the necessity to use USB 3 enclosure.
One more thing: the newest firmware (v.8) did not change the speed (comparing to v.5 I had initially). But I noticed that while I was running v.4 I was not getting typical CA which I could observe on v.5 (and v.8). So, I am not sure that how much I gained by upgrading the firmware to the latest while (in my view) it makes sense upgrade to from v.4 to something newer.
Another observation: I used EM160R in external USB encl with GL-Inet routers (750 Slate, stock OpenWRT 18 and MT1300, custom OpenWRT 19, shown on the picture) using modem manager and did not see any significant increase in speed which is kind of interesting since I thought that my WG1608 was the bottleneck.
I used QFlash v.5.1 , drivers Quectel_LTE&5G_Windows_USB_Driver_V2.1 and the firmware EM160RGLAUR02A08M4G.zip(firmware files from the dir. firehose) and my EM160R has been successfully upgraded.
It's a pity that qfirehose could not upgrade the firmware to the latest version in place (on rooter) since that would eliminate the necessity to use USB 3 enclosure.
One more thing: the newest firmware (v.8) did not change the speed (comparing to v.5 I had initially). But I noticed that while I was running v.4 I was not getting typical CA which I could observe on v.5 (and v.8). So, I am not sure that how much I gained by upgrading the firmware to the latest while (in my view) it makes sense upgrade to from v.4 to something newer.
Another observation: I used EM160R in external USB encl with GL-Inet routers (750 Slate, stock OpenWRT 18 and MT1300, custom OpenWRT 19, shown on the picture) using modem manager and did not see any significant increase in speed which is kind of interesting since I thought that my WG1608 was the bottleneck.
You do not have the required permissions to view the files attached to this post.
Re: Qfirehose on Rooter
Hi. I appreciate if you could please share a link to download the QFirehose you managed to build for this router. Thanks!56387f wrote: ↑Sun Dec 05, 2021 1:01 am Hello,
I found some free time and built QFirehose on WG1608 (after installing extroot since this device does not have enough memory to install all necessary tools) - upgrade of EM160 firmware installed in the router actually works (should work for other Quectel modems too).
Re: Qfirehose on Rooter
I dont think you need to build QFirehose for a specific firmware, just the cpu of your modem.
Dairyman just added latest version of qfirehose for all the builds, so you can get it, whit ROOter 19 or ROOter 21 version.
you could grab the binary inside it, and you on your own router thecnically, or just upgrade the modem whithin ROOter.
So you need latest QFirehose inside the router firmware, and you need latest QFirehose for linux, which comes already compiled for ubuntu, i use it on kubuntu and it works like a charm.
It is all automatic process, and really easy.
If your target have enough ram, you could upload the folder whit the firmware in /tmp, and just update straight away fro the router.
if you can attach an usb or a shared mount, you can also could use it.
QFirehose -f /tmp/RG502QEAAAR11A06M4G_01.001.01.001
change /tmp whit the folder where is the firmware folder.
But to be honest, easier way is the one you just upgrade remotely, because you dont need to do anything, just have a workng qfirehose on the router, and on yor linux pc/vm.
On Target Router whit module inside you just run:
QFirehose -p 9008
On your linux machine/VM, you need to have Qfirehose binary, and on that folder you need to have the folder whit the firmware unzipped, like RG502QEAAAR11A06M4G_01.001.01.001, and you must be sure inside this folde it contains update folder, and inside update, it contains firehose folder, then you can use it whit QFirehose.
So on the sending machine, in that folder, open terminal and use:
./QFirehose -f RG502QEAAAR11A06M4G_01.001.01.001 -p 192.168.1.1:9008
Assuming your router address is 192.168.1.1, adjust that to the address your router lan address, the same you use to SSH into it.
about 1 min 30 sec later, your module will have the firmware you want.
Solved.
Dairyman just added latest version of qfirehose for all the builds, so you can get it, whit ROOter 19 or ROOter 21 version.
you could grab the binary inside it, and you on your own router thecnically, or just upgrade the modem whithin ROOter.
So you need latest QFirehose inside the router firmware, and you need latest QFirehose for linux, which comes already compiled for ubuntu, i use it on kubuntu and it works like a charm.
It is all automatic process, and really easy.
If your target have enough ram, you could upload the folder whit the firmware in /tmp, and just update straight away fro the router.
if you can attach an usb or a shared mount, you can also could use it.
QFirehose -f /tmp/RG502QEAAAR11A06M4G_01.001.01.001
change /tmp whit the folder where is the firmware folder.
But to be honest, easier way is the one you just upgrade remotely, because you dont need to do anything, just have a workng qfirehose on the router, and on yor linux pc/vm.
On Target Router whit module inside you just run:
QFirehose -p 9008
On your linux machine/VM, you need to have Qfirehose binary, and on that folder you need to have the folder whit the firmware unzipped, like RG502QEAAAR11A06M4G_01.001.01.001, and you must be sure inside this folde it contains update folder, and inside update, it contains firehose folder, then you can use it whit QFirehose.
So on the sending machine, in that folder, open terminal and use:
./QFirehose -f RG502QEAAAR11A06M4G_01.001.01.001 -p 192.168.1.1:9008
Assuming your router address is 192.168.1.1, adjust that to the address your router lan address, the same you use to SSH into it.
about 1 min 30 sec later, your module will have the firmware you want.
Solved.
- Didneywhorl
- Posts: 3635
- Joined: Fri Mar 23, 2018 5:37 pm
- Location: USA
- Has thanked: 1369 times
- Been thanked: 761 times
- Contact:
Re: Qfirehose on Rooter
This is great. You should make an official tutorial on this, that would help so many people find this info easier.