Hi
I followed your instructions - qmi-interface-with-base-hat
I then tested with
ping -I wwan0 -c 5 8.8.8.8
This works OK
I then tested with
curl --interface wwan0 https://www.google.co.uk/index.html
This did nothing.
I checked the command using the ethernet interface eth0 in place of wwan0
That fetches the google home page as raw text and sends it to the terminal (stdout) as expected.
Can you tell me - would you expect curl to work with wwan0?
Is there something I should add?
I am not familiar with networking side of linux so maybe you could suggest how to debug.
By the way I tried with ppp and got same results (I uninstalled ppp before trying QMI. I am using a SIM from Three. I am using “three.co.uk” as the APN
Hi
Thanks for the suggestion - but it made no difference.
What I did find was that if I disconnected the Ethernet cable from the Pi (and used the TV as terminal) then curl would fetch data from some websites like google and amazon but not any that I want to use.
For instance this command
curl --ipv4 -v --interface wwan0 http://www.sixfab.com
Generates the output below then hangs up. The same command on eth0 delivers data.
I have tried with many combinations of http and https and index.html. It appears that big sites will deliver data but small sites do not.
Martin
Unfortunately I cannot post the diagnostics because your forum does not allow links (not a good setting for a forum about networking )
The --interface options is used to figure determine what address on the system will be used as the source IP. It doesn’t magically change anything about routing.
A typical system will only have a single default gateway. Naively connecting two ports two different networks using only DHCP simply is not going to give you a working multi-homed system. One of the interfaces will work to connect to the internet and one will only work for the subnet. Trying to bind like you have done is going to just send packets through the wrong router.
On Linux it is possible to get this working, but it requires multiple route tables, and rules to define which table to use. See this howto.