Internet connection sharing
Internet connection sharing
Re: Internet connection sharing
2009-10-14 23:08 UTC
On Thu, Oct 15, 2009 at 12:29:10AM +0300, Marius Gedminas wrote:
> You have:
>
> * 1 (one) Nokia N900
> * 1 (one) USB cable for the N900
> * 1 (one) laptop running Linux
> * 1 (one) USB 3g dongle with a SIM slot for the laptop
> * 1 (one) SIM card
>
> Your goal: get both the laptop and the N900 online.
...
> Am I reinventing the bicycle? Are there working solutions?
It seems that
http://pc-connectivity.garage.maemo.org/2nd_edition/index.html wants to
be a solution, but it's Internet Sharing is mostly focused on sharing
the host's connection to the device, rather than the other way around.
The other way around is confusing -- why should I specify how my N900 is
connected? Figure it out by looking at the default route! Besides, on
Maemo 5 the PC connectivity manager doesn't let me select "cellular
connection". And then, despite the doc saying
Under "Share internet connection with" option, you can check the interfaces (Usb, Bluetooth and/or Wlan) to share Internet with
I see no sign of "Share internet connection with".
Just give me iptables and I'll be happy.
Marius Gedminas
--
Do not meddle in the affairs of sysadmins,
they are quick to anger and have no need for subtlety.
> You have:
>
> * 1 (one) Nokia N900
> * 1 (one) USB cable for the N900
> * 1 (one) laptop running Linux
> * 1 (one) USB 3g dongle with a SIM slot for the laptop
> * 1 (one) SIM card
>
> Your goal: get both the laptop and the N900 online.
...
> Am I reinventing the bicycle? Are there working solutions?
It seems that
http://pc-connectivity.garage.maemo.org/2nd_edition/index.html wants to
be a solution, but it's Internet Sharing is mostly focused on sharing
the host's connection to the device, rather than the other way around.
The other way around is confusing -- why should I specify how my N900 is
connected? Figure it out by looking at the default route! Besides, on
Maemo 5 the PC connectivity manager doesn't let me select "cellular
connection". And then, despite the doc saying
Under "Share internet connection with" option, you can check the interfaces (Usb, Bluetooth and/or Wlan) to share Internet with
I see no sign of "Share internet connection with".
Just give me iptables and I'll be happy.
Marius Gedminas
--
Do not meddle in the affairs of sysadmins,
they are quick to anger and have no need for subtlety.
Re: Internet connection sharing
2009-10-15 20:08 UTC
On Thu, Oct 15, 2009 at 02:08:09AM +0300, Marius Gedminas wrote:
> On Thu, Oct 15, 2009 at 12:29:10AM +0300, Marius Gedminas wrote:
> > You have:
> >
> > * 1 (one) Nokia N900
> > * 1 (one) USB cable for the N900
> > * 1 (one) laptop running Linux
> > * 1 (one) USB 3g dongle with a SIM slot for the laptop
> > * 1 (one) SIM card
> >
> > Your goal: get both the laptop and the N900 online.
> ...
> > Am I reinventing the bicycle? Are there working solutions?
What, nobody has done this?
> It seems that
> http://pc-connectivity.garage.maemo.org/2nd_edition/index.html wants to
> be a solution,
For the record, the current version of maemo-pc-connectivity
(specifically, the usb-network-modules package) is broken, as in
* modprobe g_ether fails to find g_ether.ko since the package's
postinst fails to call depmod -a
* modprobe g_ether fails even after depmod -a because some symbols are
missing
After a few hours of head-banging today I finally discovered that the
usb0 network interface appears the first time you plug in a USB cable
and select 'PC Suite'. After that you can unplug it and replug it in
charging-only mode, usb0 will continue to work.
I think it's the g_nokia.ko module that provides USB networking (as well
as some other things).
Marius Gedminas
--
I want patience, and I WANT IT NOW!
> On Thu, Oct 15, 2009 at 12:29:10AM +0300, Marius Gedminas wrote:
> > You have:
> >
> > * 1 (one) Nokia N900
> > * 1 (one) USB cable for the N900
> > * 1 (one) laptop running Linux
> > * 1 (one) USB 3g dongle with a SIM slot for the laptop
> > * 1 (one) SIM card
> >
> > Your goal: get both the laptop and the N900 online.
> ...
> > Am I reinventing the bicycle? Are there working solutions?
What, nobody has done this?
> It seems that
> http://pc-connectivity.garage.maemo.org/2nd_edition/index.html wants to
> be a solution,
For the record, the current version of maemo-pc-connectivity
(specifically, the usb-network-modules package) is broken, as in
* modprobe g_ether fails to find g_ether.ko since the package's
postinst fails to call depmod -a
* modprobe g_ether fails even after depmod -a because some symbols are
missing
After a few hours of head-banging today I finally discovered that the
usb0 network interface appears the first time you plug in a USB cable
and select 'PC Suite'. After that you can unplug it and replug it in
charging-only mode, usb0 will continue to work.
I think it's the g_nokia.ko module that provides USB networking (as well
as some other things).
Marius Gedminas
--
I want patience, and I WANT IT NOW!
Re: Internet connection sharing
2009-10-19 20:19 UTC
On Thu, Oct 15, 2009 at 12:29:10AM +0300, Marius Gedminas wrote:
> You have:
>
> * 1 (one) Nokia N900
> * 1 (one) USB cable for the N900
> * 1 (one) laptop running Linux
> * 1 (one) USB 3g dongle with a SIM slot for the laptop
> * 1 (one) SIM card
>
> Your goal: get both the laptop and the N900 online.
>
> So far I've achieved partial success:
>
> * insert SIM card into the N900
> * get online
> * connect the N900 to the laptop with a USB cable
> * on the N900 open a root shell and run
> ifconfig usb0 10.20.10.1 netmask 255.255.255.0 up
> dnsmasq -i usb0 -a 10.20.10.1 -I lo -z -d -x /var/run/dnsmasq.usb0.pid
> * on the laptop run
> ifconfig usb0 10.20.10.2 netmask 255.255.255.0 up
> echo 'nameserver 10.20.10.1' > /etc/resolv.conf
>
> So far so good, but without iptables I cannot make the N900 do network
> address translation. I've also installed openssh-server on the N900 and used
> ssh -D 1080 root@10.20.10.1 from the laptop to get a SOCKS5 proxy on
> localhost, so I can get online from my laptop, but that's a rather
> inconvenient partial solution.
>
> Also, I'd be happier if I could do this without cables (i.e. over wifi
> or usb).
This was supposed to say "or Bluetooth". I wish I hadn't missed the
unsupported Bluetooth profiles talk at the summit...
I've had partial success with wifi, after installing wireless-tools from
the fremantle tools repository (it's also in downloads.maemo.nokia.com):
ifconfig wlan0 down # otherwise iwconfig mode says device busy
iwconfig wlan0 mode ad-hoc
ifconfig wlan0 up # otherwise iwconfig essid times out
iwconfig wlan0 essid n900
ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
Trouble is, every 10 minutes the device does a wifi scan or something
and shuts down the hardware. I have to walk over to the n900 and wake
it up manually by doing
ifconfig wlan0 up
iwconfig wlan0 essid n900
which is a big pain. Any way to temporarily tell icd that it shouldn't
touch wlan0 for a while?
A much more troubling thing is that after you do this wake-up call
twice, the n900 ups and reboots. Exactly 11 seconds after the second
wake-up call, I've got ping logs to prove it.
Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
~ $ sudo insmod iptable_nat.ko
insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
~ $ dmesg | tail
...
[90600.794433] iptable_nat: no symbol version for struct_module
Clearly, I'm doing something wrong.
--
Some performers on television appear to be horrible people, but when
you finally get to know them in person, they turn out to be even worse.
-- Avery
> You have:
>
> * 1 (one) Nokia N900
> * 1 (one) USB cable for the N900
> * 1 (one) laptop running Linux
> * 1 (one) USB 3g dongle with a SIM slot for the laptop
> * 1 (one) SIM card
>
> Your goal: get both the laptop and the N900 online.
>
> So far I've achieved partial success:
>
> * insert SIM card into the N900
> * get online
> * connect the N900 to the laptop with a USB cable
> * on the N900 open a root shell and run
> ifconfig usb0 10.20.10.1 netmask 255.255.255.0 up
> dnsmasq -i usb0 -a 10.20.10.1 -I lo -z -d -x /var/run/dnsmasq.usb0.pid
> * on the laptop run
> ifconfig usb0 10.20.10.2 netmask 255.255.255.0 up
> echo 'nameserver 10.20.10.1' > /etc/resolv.conf
>
> So far so good, but without iptables I cannot make the N900 do network
> address translation. I've also installed openssh-server on the N900 and used
> ssh -D 1080 root@10.20.10.1 from the laptop to get a SOCKS5 proxy on
> localhost, so I can get online from my laptop, but that's a rather
> inconvenient partial solution.
>
> Also, I'd be happier if I could do this without cables (i.e. over wifi
> or usb).
This was supposed to say "or Bluetooth". I wish I hadn't missed the
unsupported Bluetooth profiles talk at the summit...
I've had partial success with wifi, after installing wireless-tools from
the fremantle tools repository (it's also in downloads.maemo.nokia.com):
ifconfig wlan0 down # otherwise iwconfig mode says device busy
iwconfig wlan0 mode ad-hoc
ifconfig wlan0 up # otherwise iwconfig essid times out
iwconfig wlan0 essid n900
ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
Trouble is, every 10 minutes the device does a wifi scan or something
and shuts down the hardware. I have to walk over to the n900 and wake
it up manually by doing
ifconfig wlan0 up
iwconfig wlan0 essid n900
which is a big pain. Any way to temporarily tell icd that it shouldn't
touch wlan0 for a while?
A much more troubling thing is that after you do this wake-up call
twice, the n900 ups and reboots. Exactly 11 seconds after the second
wake-up call, I've got ping logs to prove it.
Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
~ $ sudo insmod iptable_nat.ko
insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
~ $ dmesg | tail
...
[90600.794433] iptable_nat: no symbol version for struct_module
Clearly, I'm doing something wrong.
--
Some performers on television appear to be horrible people, but when
you finally get to know them in person, they turn out to be even worse.
-- Avery
Re: Internet connection sharing
2009-10-19 21:41 UTC
On Mon, Oct 19, 2009 at 11:19:20PM +0300, Marius Gedminas wrote:
> I've had partial success with wifi, after installing wireless-tools from
> the fremantle tools repository (it's also in downloads.maemo.nokia.com):
>
> ifconfig wlan0 down # otherwise iwconfig mode says device busy
> iwconfig wlan0 mode ad-hoc
> ifconfig wlan0 up # otherwise iwconfig essid times out
> iwconfig wlan0 essid n900
> ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
For extra convenience also pass
--dhcp-range=10.20.30.10,10.20.30.100,6h
--dhcp-option=3,10.20.30.1
--dhcp-option=6,10.20.30.1
to dnsmasq, then your tablet will act as a DHCP server.
> Trouble is, every 10 minutes the device does a wifi scan or something
> and shuts down the hardware.
Fixable if you go to Settings -> Internet Connections and set WLAN
search interval to Never.
> Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
>
> ~ $ sudo insmod iptable_nat.ko
> insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
> ~ $ dmesg | tail
> ...
> [90600.794433] iptable_nat: no symbol version for struct_module
>
> Clearly, I'm doing something wrong.
This could be because the SDK has kernel sources of version
2.6.28-20093908+0m5, and my device has kernel 2.6.28-20094102+0m5.
Any idea where to find the appropriate sources? GPL requirements etc.,
they ought to be out there somewhere.
FWIW I'm following the instructions at
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide,
but it seems that those are a bit outdated
(maemo-sdk-rootstrap_5.0beta_armel.tgz? EXTRAVERSION=-maemo2?). I
would appreciate any feedback from people who have tried building kernel
modules with the final SDK.
Marius Gedminas
--
We're sysadmins. To us, data is a protocol-overhead.
> I've had partial success with wifi, after installing wireless-tools from
> the fremantle tools repository (it's also in downloads.maemo.nokia.com):
>
> ifconfig wlan0 down # otherwise iwconfig mode says device busy
> iwconfig wlan0 mode ad-hoc
> ifconfig wlan0 up # otherwise iwconfig essid times out
> iwconfig wlan0 essid n900
> ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
For extra convenience also pass
--dhcp-range=10.20.30.10,10.20.30.100,6h
--dhcp-option=3,10.20.30.1
--dhcp-option=6,10.20.30.1
to dnsmasq, then your tablet will act as a DHCP server.
> Trouble is, every 10 minutes the device does a wifi scan or something
> and shuts down the hardware.
Fixable if you go to Settings -> Internet Connections and set WLAN
search interval to Never.
> Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
>
> ~ $ sudo insmod iptable_nat.ko
> insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
> ~ $ dmesg | tail
> ...
> [90600.794433] iptable_nat: no symbol version for struct_module
>
> Clearly, I'm doing something wrong.
This could be because the SDK has kernel sources of version
2.6.28-20093908+0m5, and my device has kernel 2.6.28-20094102+0m5.
Any idea where to find the appropriate sources? GPL requirements etc.,
they ought to be out there somewhere.
FWIW I'm following the instructions at
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide,
but it seems that those are a bit outdated
(maemo-sdk-rootstrap_5.0beta_armel.tgz? EXTRAVERSION=-maemo2?). I
would appreciate any feedback from people who have tried building kernel
modules with the final SDK.
Marius Gedminas
--
We're sysadmins. To us, data is a protocol-overhead.
Re: Internet connection sharing
2009-11-10 22:00 UTC
Hi there, in order to co-ordinate efforts regarding this (I had the same idea, using the N900 as hotspot for laptop etc) I created a new garage project: https://garage.maemo.org/projects/mobilehotspot
the license may need to change from LGPL to GPL proper in case we need to ship compiled iptables module, but that should not be an issue.
the license may need to change from LGPL to GPL proper in case we need to ship compiled iptables module, but that should not be an issue.
Re: Internet connection sharing
2009-11-17 13:05 UTC
>
> On Mon, Oct 19, 2009 at 11:19:20PM +0300, Marius Gedminas wrote:
> > I've had partial success with wifi, after installing wireless-tools from
> > the fremantle tools repository (it's also in downloads.maemo.nokia.com):
> >
> > ifconfig wlan0 down # otherwise iwconfig mode says device busy
> > iwconfig wlan0 mode ad-hoc
> > ifconfig wlan0 up # otherwise iwconfig essid times out
> > iwconfig wlan0 essid n900
> > ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> > dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
>
> For extra convenience also pass
>
> --dhcp-range=10.20.30.10,10.20.30.100,6h
> --dhcp-option=3,10.20.30.1
> --dhcp-option=6,10.20.30.1
>
> to dnsmasq, then your tablet will act as a DHCP server.
>
Does it mean, that, looking from Bluetooth connection prospective, after bringing up BT network, It will be impossible to use the device's broadband connection (without iptables)?
I mean, n900 supports BT network profile, which NetworkManager successfully leverages. But I haven't actuially tested ability to access Internet from PC through the device - yet.
-Vitaly
> > Trouble is, every 10 minutes the device does a wifi scan or something
> > and shuts down the hardware.
>
> Fixable if you go to Settings -> Internet Connections and set WLAN
> search interval to Never.
>
> > Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
> >
> > ~ $ sudo insmod iptable_nat.ko
> > insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
> > ~ $ dmesg | tail
> > ...
> > [90600.794433] iptable_nat: no symbol version for struct_module
> >
> > Clearly, I'm doing something wrong.
>
> This could be because the SDK has kernel sources of version
> 2.6.28-20093908+0m5, and my device has kernel 2.6.28-20094102+0m5.
>
> Any idea where to find the appropriate sources? GPL requirements etc.,
> they ought to be out there somewhere.
>
> FWIW I'm following the instructions at
> http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide,
> but it seems that those are a bit outdated
> (maemo-sdk-rootstrap_5.0beta_armel.tgz? EXTRAVERSION=-maemo2?). I
> would appreciate any feedback from people who have tried building kernel
> modules with the final SDK.
>
> Marius Gedminas
> --
> We're sysadmins. To us, data is a protocol-overhead.
>
>
>
> On Mon, Oct 19, 2009 at 11:19:20PM +0300, Marius Gedminas wrote:
> > I've had partial success with wifi, after installing wireless-tools from
> > the fremantle tools repository (it's also in downloads.maemo.nokia.com):
> >
> > ifconfig wlan0 down # otherwise iwconfig mode says device busy
> > iwconfig wlan0 mode ad-hoc
> > ifconfig wlan0 up # otherwise iwconfig essid times out
> > iwconfig wlan0 essid n900
> > ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> > dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
>
> For extra convenience also pass
>
> --dhcp-range=10.20.30.10,10.20.30.100,6h
> --dhcp-option=3,10.20.30.1
> --dhcp-option=6,10.20.30.1
>
> to dnsmasq, then your tablet will act as a DHCP server.
>
Does it mean, that, looking from Bluetooth connection prospective, after bringing up BT network, It will be impossible to use the device's broadband connection (without iptables)?
I mean, n900 supports BT network profile, which NetworkManager successfully leverages. But I haven't actuially tested ability to access Internet from PC through the device - yet.
-Vitaly
> > Trouble is, every 10 minutes the device does a wifi scan or something
> > and shuts down the hardware.
>
> Fixable if you go to Settings -> Internet Connections and set WLAN
> search interval to Never.
>
> > Also, I want iptables. Trying to build iptable_nat.ko kinda failed:
> >
> > ~ $ sudo insmod iptable_nat.ko
> > insmod: error inserting 'iptable_nat.ko': -1 Invalid module format
> > ~ $ dmesg | tail
> > ...
> > [90600.794433] iptable_nat: no symbol version for struct_module
> >
> > Clearly, I'm doing something wrong.
>
> This could be because the SDK has kernel sources of version
> 2.6.28-20093908+0m5, and my device has kernel 2.6.28-20094102+0m5.
>
> Any idea where to find the appropriate sources? GPL requirements etc.,
> they ought to be out there somewhere.
>
> FWIW I'm following the instructions at
> http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide,
> but it seems that those are a bit outdated
> (maemo-sdk-rootstrap_5.0beta_armel.tgz? EXTRAVERSION=-maemo2?). I
> would appreciate any feedback from people who have tried building kernel
> modules with the final SDK.
>
> Marius Gedminas
> --
> We're sysadmins. To us, data is a protocol-overhead.
>
>
>
Re: Internet connection sharing
2009-12-22 20:38 UTC
> On Mon, Oct 19, 2009 at 11:19:20PM +0300, Marius Gedminas wrote:
> > I've had partial success with wifi, after installing wireless-tools from
> > the fremantle tools repository (it's also in downloads.maemo.nokia.com):
> >
> > ifconfig wlan0 down # otherwise iwconfig mode says device busy
> > iwconfig wlan0 mode ad-hoc
> > ifconfig wlan0 up # otherwise iwconfig essid times out
> > iwconfig wlan0 essid n900
> > ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> > dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
>
> For extra convenience also pass
>
> --dhcp-range=10.20.30.10,10.20.30.100,6h
> --dhcp-option=3,10.20.30.1
> --dhcp-option=6,10.20.30.1
>
> to dnsmasq, then your tablet will act as a DHCP server.
The scripts are now at http://mg.pov.lt/770/internet-connection-sharing/ if anybody feels adventurous and wants to play.
(and oh dear, I'm replying to my mailing list post from a web forum, I can't believe this is actually happening)
> > I've had partial success with wifi, after installing wireless-tools from
> > the fremantle tools repository (it's also in downloads.maemo.nokia.com):
> >
> > ifconfig wlan0 down # otherwise iwconfig mode says device busy
> > iwconfig wlan0 mode ad-hoc
> > ifconfig wlan0 up # otherwise iwconfig essid times out
> > iwconfig wlan0 essid n900
> > ifconfig wlan0 10.20.30.1 netmask 255.255.255.0 up
> > dnsmasq -i wlan0 -a 10.20.30.1 -I lo -z -d -x /var/run/dnsmasq.wlan0.pid
>
> For extra convenience also pass
>
> --dhcp-range=10.20.30.10,10.20.30.100,6h
> --dhcp-option=3,10.20.30.1
> --dhcp-option=6,10.20.30.1
>
> to dnsmasq, then your tablet will act as a DHCP server.
The scripts are now at http://mg.pov.lt/770/internet-connection-sharing/ if anybody feels adventurous and wants to play.
(and oh dear, I'm replying to my mailing list post from a web forum, I can't believe this is actually happening)
* 1 (one) Nokia N900
* 1 (one) USB cable for the N900
* 1 (one) laptop running Linux
* 1 (one) USB 3g dongle with a SIM slot for the laptop
* 1 (one) SIM card
Your goal: get both the laptop and the N900 online.
So far I've achieved partial success:
* insert SIM card into the N900
* get online
* connect the N900 to the laptop with a USB cable
* on the N900 open a root shell and run
ifconfig usb0 10.20.10.1 netmask 255.255.255.0 up
dnsmasq -i usb0 -a 10.20.10.1 -I lo -z -d -x /var/run/dnsmasq.usb0.pid
* on the laptop run
ifconfig usb0 10.20.10.2 netmask 255.255.255.0 up
echo 'nameserver 10.20.10.1' > /etc/resolv.conf
So far so good, but without iptables I cannot make the N900 do network
address translation. I've also installed openssh-server on the N900 and used
ssh -D 1080 root@10.20.10.1 from the laptop to get a SOCKS5 proxy on
localhost, so I can get online from my laptop, but that's a rather
inconvenient partial solution.
Also, I'd be happier if I could do this without cables (i.e. over wifi
or usb).
Am I reinventing the bicycle? Are there working solutions?
Marius Gedminas
--
Remember the... the... uhh.....