|
2010-01-25
, 05:36
|
Posts: 86 |
Thanked: 362 times |
Joined on Dec 2007
@ Paris / France
|
#92
|
|
2010-01-25
, 05:39
|
Posts: 355 |
Thanked: 566 times |
Joined on Nov 2009
@ Redstone Canyon, Colorado
|
#93
|
After a crash, /proc/bootreason says "sw_rst" (watchdog reboots show differently i think)
|
2010-01-25
, 08:52
|
|
Posts: 129 |
Thanked: 60 times |
Joined on Jul 2009
@ Castello d'Argile (BO)
|
#94
|
6. Infrastructure mode hasn't been investigated yet properly, trying to set the interface to infrastructure mode via iwconfig fails but it's even not supposed to work, no-one has reported any experiments regarding hostapd. OTOH Ad-Hoc should be more than enough (and in some cases possibly better).
|
2010-01-25
, 11:20
|
Posts: 173 |
Thanked: 160 times |
Joined on Jan 2010
@ London, UK
|
#95
|
Please do.
To summarize:
1. N900 stock kernel does not have module support for nf_conntrack et co so just building the modules is not going to help, one needs to flash a kernel that has support for inserting said modules.
3. Current efforts with "custom" (basically stock kernel with just the modules required for NAT) kernels lead to reboots with more than light traffic, likely due to device watchdog tripping. (Except maybe Jebba but AFAIUnderstood his kernels are more customized)
5. There has been a vague report of managing to do NAT in userland, however there are no details and while I have a vague idea of how it might have worked I have no idea how to actually implement such scheme. being able to do this in userland would circumvent the watchdog and requiring kernel flash problems.
6. Infrastructure mode hasn't been investigated yet properly, trying to set the interface to infrastructure mode via iwconfig fails but it's even not supposed to work, no-one has reported any experiments regarding hostapd. OTOH Ad-Hoc should be more than enough (and in some cases possibly better).
8. Rumour of the "real JoikuSpot" for N900 has been mentioned (if it is real it will be interesting to see how they tackle the modules issue)
That should cover the essentials of the thread so far.
|
2010-01-25
, 14:40
|
Posts: 540 |
Thanked: 288 times |
Joined on Sep 2009
|
#96
|
If existing modules are compiled without an option, can't replacement modules be created, with (and I know this is ugly)
...
so adding nf_conntrack in a fresh module might be possible.
If I'm limited to ad-hoc I'd put up with sshing in and onwards, and/or using an http proxy, job done, let's move on.
I want to keep investigating getting infrastructure working. I read up about this and found our wifi driver supports all the right things, we're just a couple of kernel revisions behind the support which adds this. We're in the new world of standardised wifi drivers.
|
2010-01-25
, 20:29
|
|
Moderator |
Posts: 7,109 |
Thanked: 8,820 times |
Joined on Oct 2007
@ Vancouver, BC, Canada
|
#97
|
If existing modules are compiled without an option, can't replacement modules be created, with (and I know this is ugly), some .deb compatible postinst which switches the existing modules with ones compile with that in, as well as the stock masq .ko files which is lacks altogether but which it's possible to compile and install in normal dpkg ways? Or, I know somebody who refuses (for h/ware reasons) to reboot a server he's had running for 15 years or so, where he insmods various catchup .ko files which patch together all the updates to the 2.2.*? kernel to keep it secure, you can essentially update most kernel internal symbols and capabilities, so adding nf_conntrack in a fresh module might be possible.
I wonder if this is any less ugly than a custom kernel, we can flash the kernel OTA directly from deb anyway so from user-experience POV it's the same (except reboot vs no reboot).
|
2010-01-25
, 23:42
|
Posts: 1,224 |
Thanked: 1,763 times |
Joined on Jul 2007
|
#98
|
The Following 4 Users Say Thank You to Matan For This Useful Post: | ||
|
2010-01-26
, 02:52
|
Posts: 107 |
Thanked: 74 times |
Joined on Jan 2010
|
#99
|
[ 10.953704] [<c0174a30>] (cfb_imageblit+0x0/0x460) from [<c0172ad0>] (bit_putcs+0x3f4/0x448) [ 10.953735] [<c01726dc>] (bit_putcs+0x0/0x448) from [<c016d5ac>] (fbcon_putcs+0x28c/0x2d4) [ 10.953765] [<c016d320>] (fbcon_putcs+0x0/0x2d4) from [<c016ee40>] (fbcon_redraw+0xe8/0x180) [ 10.953765] [<c016ed58>] (fbcon_redraw+0x0/0x180) from [<c01710e8>] (fbcon_scroll+0x6b8/0xd48) [ 10.953796] [<c0170a30>] (fbcon_scroll+0x0/0xd48) from [<c0198f88>] (scrup+0x6c/0xd8) [ 10.953826] [<c0198f1c>] (scrup+0x0/0xd8) from [<c0199094>] (lf+0x34/0x74) [ 10.953857] r8:0000000a r7:c0a185c0 r6:00000000 r5:0000000a r4:c0a185c0 [ 10.953857] [<c0199060>] (lf+0x0/0x74) from [<c019bbb0>] (do_con_write+0x88c/0x1d00) [ 10.953887] r5:0000000a r4:0000000a [ 10.953887] [<c019b324>] (do_con_write+0x0/0x1d00) from [<c019d068>] (con_put_char+0x44/0x4c) [ 10.953918] [<c019d024>] (con_put_char+0x0/0x4c) from [<c0188b48>] (tty_put_char+0x2c/0x48) [ 10.953948] [<c0188b1c>] (tty_put_char+0x0/0x48) from [<c018c6a0>] (opost+0x1a8/0x1c8) [ 10.953948] [<c018c4f8>] (opost+0x0/0x1c8) from [<c018d188>] (n_tty_write+0x27c/0x360) [ 10.953979] r7:00000001 r6:cf36cc1a r5:cf36c800 r4:0000001a [ 10.954010] [<c018cf0c>] (n_tty_write+0x0/0x360) from [<c018a82c>] (tty_write+0x194/0x240) [ 10.954010] [<c018a698>] (tty_write+0x0/0x240) from [<c018b8bc>] (redirected_tty_write+0xb8/0xc8) [ 10.954040] [<c018b804>] (redirected_tty_write+0x0/0xc8) from [<c00bb8f8>] (vfs_write+0xbc/0x14c) [ 10.954071] r9:ce176000 r8:40020000 r7:0000001b r6:ce177f70 r5:40020000 [ 10.954101] r4:cfc8ae40 [ 10.954101] [<c00bb83c>] (vfs_write+0x0/0x14c) from [<c00bbe88>] (sys_write+0x44/0x70) [ 10.954132] r7:0000001b r6:cfc8ae40 r5:00000000 r4:00000000 [ 10.954132] [<c00bbe44>] (sys_write+0x0/0x70) from [<c002e940>] (ret_fast_syscall+0x0/0x2c) [ 10.954162] r8:c002eac4 r7:00000004 r6:40182608 r5:40020000 r4:0000001b [ 10.954284] Division by zero in kernel. [ 10.954315] [<c0032470>] (dump_stack+0x0/0x14) from [<c003249c>] (__div0+0x18/0x20) [ 10.954315] [<c0032484>] (__div0+0x0/0x20) from [<c015369c>] (Ldiv0+0x8/0x10) [ 10.954345] [<c0174a30>] (cfb_imageblit+0x0/0x460) from [<c0172ad0>] (bit_putcs+0x3f4/0x448) [ 10.954376] [<c01726dc>] (bit_putcs+0x0/0x448) from [<c016d5ac>] (fbcon_putcs+0x28c/0x2d4) [ 10.954406] [<c016d320>] (fbcon_putcs+0x0/0x2d4) from [<c016ee40>] (fbcon_redraw+0xe8/0x180) [ 10.954406] [<c016ed58>] (fbcon_redraw+0x0/0x180) from [<c01710e8>] (fbcon_scroll+0x6b8/0xd48) [ 10.954437] [<c0170a30>] (fbcon_scroll+0x0/0xd48) from [<c0198f88>] (scrup+0x6c/0xd8) [ 10.954467] [<c0198f1c>] (scrup+0x0/0xd8) from [<c0199094>] (lf+0x34/0x74) [ 10.954467] r8:0000000a r7:c0a185c0 r6:00000000 r5:0000000a r4:c0a185c0 [ 10.954498] [<c0199060>] (lf+0x0/0x74) from [<c019bbb0>] (do_con_write+0x88c/0x1d00) [ 10.954528] r5:0000000a r4:0000000a [ 10.954528] [<c019b324>] (do_con_write+0x0/0x1d00) from [<c019d068>] (con_put_char+0x44/0x4c) [ 10.954559] [<c019d024>] (con_put_char+0x0/0x4c) from [<c0188b48>] (tty_put_char+0x2c/0x48) [ 10.954589] [<c0188b1c>] (tty_put_char+0x0/0x48) from [<c018c6a0>] (opost+0x1a8/0x1c8) [ 10.954589] [<c018c4f8>] (opost+0x0/0x1c8) from [<c018d188>] (n_tty_write+0x27c/0x360) [ 10.954620] r7:00000001 r6:cf36cc1a r5:cf36c800 r4:0000001a [ 10.954650] [<c018cf0c>] (n_tty_write+0x0/0x360) from [<c018a82c>] (tty_write+0x194/0x240) [ 10.954650] [<c018a698>] (tty_write+0x0/0x240) from [<c018b8bc>] (redirected_tty_write+0xb8/0xc8) [ 10.954681] [<c018b804>] (redirected_tty_write+0x0/0xc8) from [<c00bb8f8>] (vfs_write+0xbc/0x14c) [ 10.954711] r9:ce176000 r8:40020000 r7:0000001b r6:ce177f70 r5:40020000 [ 10.954742] r4:cfc8ae40 [ 10.954742] [<c00bb83c>] (vfs_write+0x0/0x14c) from [<c00bbe88>] (sys_write+0x44/0x70) [ 10.954772] r7:0000001b r6:cfc8ae40 r5:00000000 r4:00000000 [ 10.954772] [<c00bbe44>] (sys_write+0x0/0x70) from [<c002e940>] (ret_fast_syscall+0x0/0x2c) [ 10.954803] r8:c002eac4 r7:00000004 r6:40182608 r5:40020000 r4:0000001b [ 10.954864] Division by zero in kernel. [ 10.954864] [<c0032470>] (dump_stack+0x0/0x14) from [<c003249c>] (__div0+0x18/0x20) [ 10.954895] [<c0032484>] (__div0+0x0/0x20) from [<c015369c>] (Ldiv0+0x8/0x10) [ 10.954925] [<c0174a30>] (cfb_imageblit+0x0/0x460) from [<c0172ad0>] (bit_putcs+0x3f4/0x448) [ 10.954925] [<c01726dc>] (bit_putcs+0x0/0x448) from [<c016d5ac>] (fbcon_putcs+0x28c/0x2d4) [ 10.954956] [<c016d320>] (fbcon_putcs+0x0/0x2d4) from [<c016ee40>] (fbcon_redraw+0xe8/0x180) [ 10.954986] [<c016ed58>] (fbcon_redraw+0x0/0x180) from [<c01710e8>] (fbcon_scroll+0x6b8/0xd48) [ 10.955017] [<c0170a30>] (fbcon_scroll+0x0/0xd48) from [<c0198f88>] (scrup+0x6c/0xd8) [ 10.955017] [<c0198f1c>] (scrup+0x0/0xd8) from [<c0199094>] (lf+0x34/0x74) [ 10.955047] r8:0000000a r7:c0a185c0 r6:00000000 r5:0000000a r4:c0a185c0 [ 10.955078] [<c0199060>] (lf+0x0/0x74) from [<c019bbb0>] (do_con_write+0x88c/0x1d00) [ 10.955078] r5:0000000a r4:0000000a [ 10.955108] [<c019b324>] (do_con_write+0x0/0x1d00) from [<c019d068>] (con_put_char+0x44/0x4c) [ 10.955108] [<c019d024>] (con_put_char+0x0/0x4c) from [<c0188b48>] (tty_put_char+0x2c/0x48) [ 10.955139] [<c0188b1c>] (tty_put_char+0x0/0x48) from [<c018c6a0>] (opost+0x1a8/0x1c8) [ 10.955169] [<c018c4f8>] (opost+0x0/0x1c8) from [<c018d188>] (n_tty_write+0x27c/0x360) [ 10.955169] r7:00000001 r6:cf36cc1a r5:cf36c800 r4:0000001a [ 10.955200] [<c018cf0c>] (n_tty_write+0x0/0x360) from [<c018a82c>] (tty_write+0x194/0x240) [ 10.955230] [<c018a698>] (tty_write+0x0/0x240) from [<c018b8bc>] (redirected_tty_write+0xb8/0xc8) [ 10.955261] [<c018b804>] (redirected_tty_write+0x0/0xc8) from [<c00bb8f8>] (vfs_write+0xbc/0x14c) [ 10.955291] r9:ce176000 r8:40020000 r7:0000001b r6:ce177f70 r5:40020000 [ 10.955291] r4:cfc8ae40 [ 10.955291] [<c00bb83c>] (vfs_write+0x0/0x14c) from [<c00bbe88>] (sys_write+0x44/0x70) [ 10.955322] r7:0000001b r6:cfc8ae40 r5:00000000 r4:00000000 [ 10.955352] [<c00bbe44>] (sys_write+0x0/0x70) from [<c002e940>] (ret_fast_syscall+0x0/0x2c) [ 10.955383] r8:c002eac4 r7:00000004 r6:40182608 r5:40020000 r4:0000001b [ 10.955413] Division by zero in kernel. [ 10.955413] [<c0032470>] (dump_stack+0x0/0x14) from [<c003249c>] (__div0+0x18/0x20) [ 10.955444] [<c0032484>] (__div0+0x0/0x20) from [<c015369c>] (Ldiv0+0x8/0x10) [ 10.955474] [<c0174a30>] (cfb_imageblit+0x0/0x460) from [<c0172ad0>] (bit_putcs+0x3f4/0x448) [ 10.955505] [<c01726dc>] (bit_putcs+0x0/0x448) from [<c016d5ac>] (fbcon_putcs+0x28c/0x2d4) [ 10.955505] [<c016d320>] (fbcon_putcs+0x0/0x2d4) from [<c016ee40>] (fbcon_redraw+0xe8/0x180) [ 10.955535] [<c016ed58>] (fbcon_redraw+0x0/0x180) from [<c01710e8>] (fbcon_scroll+0x6b8/0xd48) [ 10.955566] [<c0170a30>] (fbcon_scroll+0x0/0xd48) from [<c0198f88>] (scrup+0x6c/0xd8) [ 10.955566] [<c0198f1c>] (scrup+0x0/0xd8) from [<c0199094>] (lf+0x34/0x74) [ 10.955596] r8:0000000a r7:c0a185c0 r6:00000000 r5:0000000a r4:c0a185c0 [ 10.955627] [<c0199060>] (lf+0x0/0x74) from [<c019bbb0>] (do_con_write+0x88c/0x1d00) [ 10.955627] r5:0000000a r4:0000000a [ 10.955657] [<c019b324>] (do_con_write+0x0/0x1d00) from [<c019d068>] (con_put_char+0x44/0x4c) [ 10.955688] [<c019d024>] (con_put_char+0x0/0x4c) from [<c0188b48>] (tty_put_char+0x2c/0x48) [ 10.955688] [<c0188b1c>] (tty_put_char+0x0/0x48) from [<c018c6a0>] (opost+0x1a8/0x1c8) [ 10.955718] [<c018c4f8>] (opost+0x0/0x1c8) from [<c018d188>] (n_tty_write+0x27c/0x360) [ 10.955749] r7:00000001 r6:cf36cc1a r5:cf36c800 r4:0000001a [ 10.955749] [<c018cf0c>] (n_tty_write+0x0/0x360) from [<c018a82c>] (tty_write+0x194/0x240) [ 10.955780] [<c018a698>] (tty_write+0x0/0x240) from [<c018b8bc>] (redirected_tty_write+0xb8/0xc8) [ 10.955810] [<c018b804>] (redirected_tty_write+0x0/0xc8) from [<c00bb8f8>] (vfs_write+0xbc/0x14c) [ 10.955841] r9:ce176000 r8:40020000 r7:0000001b r6:ce177f70 r5:40020000 [ 10.955841] r4:cfc8ae40 [ 10.955841] [<c00bb83c>] (vfs_write+0x0/0x14c) from [<c00bbe88>] (sys_write+0x44/0x70) [ 10.955871] r7:0000001b r6:cfc8ae40 r5:00000000 r4:00000000 [ 10.955902] [<c00bbe44>] (sys_write+0x0/0x70) from [<c002e940>] (ret_fast_syscall+0x0/0x2c) [ 10.955932] r8:c002eac4 r7:00000004 r6:40182608 r5:40020000 r4:0000001b [ 10.955963] Division by zero in kernel. [ 10.955963] [<c0032470>] (dump_stack+0x0/0x14) from [<c003249c>] (__div0+0x18/0x20) [ 10.955993] [<c0032484>] (__div0+0x0/0x20) from [<c015369c>] (Ldiv0+0x8/0x10) [ 10.955993] [<c0174a30>] (cfb_imageblit+0x0/0x460) from [<c0172ad0>] (bit_putcs+0x3f4/0x448) [ 10.956024] [<c01726dc>] (bit_putcs+0x0/0x448) from [<c016d5ac>] (fbcon_putcs+0x28c/0x2d4) [ 10.956054] [<c016d320>] (fbcon_putcs+0x0/0x2d4) from [<c016ee40>] (fbcon_redraw+0xe8/0x180) [ 10.956085] [<c016ed58>] (fbcon_redraw+0x0/0x180) from [<c01710e8>] (fbcon_scroll+0x6b8/0xd48) [ 10.956085] [<c0170a30>] (fbcon_scroll+0x0/0xd48) from [<c0198f88>] (scrup+0x6c/0xd8) [ 10.956115] [<c0198f1c>] (scrup+0x0/0xd8) from [<c0199094>] (lf+0x34/0x74) [ 10.956146] r8:0000000a r7:c0a185c0 r6:00000000 r5:0000000a r4:c0a185c0 [ 10.956146] [<c0199060>] (lf+0x0/0x74) from [<c019bbb0>] (do_con_write+0x88c/0x1d00) [ 10.956176] r5:0000000a r4:0000000a [ 10.956207] [<c019b324>] (do_con_write+0x0/0x1d00) from [<c019d068>] (con_put_char+0x44/0x4c) [ 10.956207] [<c019d024>] (con_put_char+0x0/0x4c) from [<c0188b48>] (tty_put_char+0x2c/0x48) [ 10.956237] [<c0188b1c>] (tty_put_char+0x0/0x48) from [<c018c6a0>] (opost+0x1a8/0x1c8) [ 10.956359] [<c018c4f8>] (opost+0x0/0x1c8) from [<c018d188>] (n_tty_write+0x27c/0x360) [ 10.956390] r7:00000001 r6:cf36cc1a r5:cf36c800 r4:0000001a [ 10.956420] [<c018cf0c>] (n_tty_write+0x0/0x360) from [<c018a82c>] (tty_write+0x194/0x240) [ 10.956420] [<c018a698>] (tty_write+0x0/0x240) from [<c018b8bc>] (redirected_tty_write+0xb8/0xc8) [ 10.956451] [<c018b804>] (redirected_tty_write+0x0/0xc8) from [<c00bb8f8>] (vfs_write+0xbc/0x14c) [ 10.956481] r9:ce176000 r8:40020000 r7:0000001b r6:ce177f70 r5:40020000 [ 10.956512] r4:cfc8ae40 [ 10.956512] [<c00bb83c>] (vfs_write+0x0/0x14c) from [<c00bbe88>] (sys_write+0x44/0x70) [ 10.956542] r7:0000001b r6:cfc8ae40 r5:00000000 r4:00000000 [ 10.956542] [<c00bbe44>] (sys_write+0x0/0x70) from [<c002e940>] (ret_fast_syscall+0x0/0x2c) [ 10.956573] r8:c002eac4 r7:00000004 r6:40182608 r5:40020000 r4:0000001b [ 16.059997] kjournald starting. Commit interval 1 seconds [ 16.071075] EXT3 FS on mmcblk0p2, internal journal [ 16.071136] EXT3-fs: mounted filesystem with writeback data mode. [ 16.325958] Adding 786424k swap on /dev/mmcblk0p3. Priority:-1 extents:1 across:786424k [ 17.024566] Bluetooth: L2CAP ver 2.13 [ 17.024597] Bluetooth: L2CAP socket layer initialized [ 17.185363] Bluetooth: SCO (Voice Link) ver 0.6 [ 17.185394] Bluetooth: SCO socket layer initialized [ 17.189697] hci_h4p hci_h4p: firmware: requesting bcmfw.bin [ 18.023834] Bluetooth: RFCOMM socket layer initialized [ 18.023925] Bluetooth: RFCOMM TTY layer initialized [ 18.023925] Bluetooth: RFCOMM ver 1.11 [ 18.669036] McSAAB: ACWAKE DOWN [ 18.669097] McSAAB: ACWAKE UP [ 18.669128] McSAAB: WAKELINES TEST OK [ 43.499755] warning: `dnsmasq' uses 32-bit capabilities (legacy support in use) [ 45.461822] SCSI subsystem initialized [ 45.784515] Driver 'sd' needs updating - please use bus_type methods [ 48.344696] musb_hdrc periph: enabled ep1in for bulk IN, maxpacket 512 [ 48.344757] musb_hdrc periph: enabled ep1out for bulk OUT, maxpacket 512 [ 48.344787] g_file_storage gadget: high speed config #1 [ 49.636779] cfg80211: Regulatory domain changed to country: EU [ 49.636810] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 49.636810] (2402000 KHz - 2482000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 49.636840] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 49.636840] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 49.636871] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 49.636871] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 49.636901] (5490000 KHz - 5710000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) [ 49.675415] wl12xx spi4.0: firmware: requesting wl1251-fw.bin [ 50.636230] wl1251: 151 tx blocks at 0x3b788, 35 rx blocks at 0x3a780 [ 50.651885] wl1251: firmware booted (Rev 4.0.4.3.6) [ 51.753540] wl1251: down [ 62.858215] musb_hdrc musb_hdrc: remove, state 4 [ 62.858276] usb usb1: USB disconnect, address 1 [ 62.884674] musb_hdrc musb_hdrc: USB bus 1 deregistered [ 63.114715] g_nokia gadget: using random self ethernet address [ 63.114746] g_nokia gadget: using random host ethernet address [ 63.117553] usb0: MAC 7a:5f:7a:c5:7c:5b [ 63.117584] usb0: HOST MAC 0a:62:71:d0:1f:a4 [ 63.117614] g_nokia gadget: USB CDC Phonet function [ 63.117645] g_nokia gadget: using musb_hdrc, OUT ep1out, IN ep1in [ 63.117736] g_nokia gadget: USB CDC Phonet function [ 63.117736] g_nokia gadget: using musb_hdrc, OUT ep1out, IN ep1in [ 63.117797] g_nokia gadget: N900 (PC-Suite Mode) [ 63.117797] g_nokia gadget: g_nokia ready [ 63.117828] musb_hdrc musb_hdrc: MUSB HDRC host driver [ 63.124755] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 [ 63.126739] usb usb1: configuration #1 chosen from 1 choice [ 63.128540] hub 1-0:1.0: USB hub found [ 63.128631] hub 1-0:1.0: 1 port detected [ 63.553222] g_nokia gadget: high speed config #1: nokia1 [ 63.553314] musb_hdrc periph: enabled ep5in for int IN, maxpacket 10
|
2010-01-26
, 05:42
|
Posts: 86 |
Thanked: 362 times |
Joined on Dec 2007
@ Paris / France
|
#100
|
On my custom built kernel nat seems to be stable.
My N900 is connected to a 3G network sharing the connection via usb networking with my laptop just now.
I'm downloading a 85Mb file at about 380Kb/s without issues.
I'm just a bit worried about the custom kernel, the device restarted twice at the very first boot, and currently I can read an opses in dmesg:
To summarize:
1. N900 stock kernel does not have module support for nf_conntrack et co so just building the modules is not going to help, one needs to flash a kernel that has support for inserting said modules.
2. iptables is not provided with the device by default but AFAIK is now available in extras-testing/devel (before it was in the repos I built a version that can be downloaded here)
3. Current efforts with "custom" (basically stock kernel with just the modules required for NAT) kernels lead to reboots with more than light traffic, likely due to device watchdog tripping. (Except maybe Jebba but AFAIUnderstood his kernels are more customized)
4. Supposing the kernel works and iptables binary is available, you can use hotspot_backend.py to setup and teardown the connection (or just do it manually). AFAIRecall Diablo has IcD2 so it should work on N8x0 as well.
5. There has been a vague report of managing to do NAT in userland, however there are no details and while I have a vague idea of how it might have worked I have no idea how to actually implement such scheme. being able to do this in userland would circumvent the watchdog and requiring kernel flash problems.
6. Infrastructure mode hasn't been investigated yet properly, trying to set the interface to infrastructure mode via iwconfig fails but it's even not supposed to work, no-one has reported any experiments regarding hostapd. OTOH Ad-Hoc should be more than enough (and in some cases possibly better).
7. Mesh networking has been mentioned, but I haven't even started to think what it would require to get it working.
8. Rumour of the "real JoikuSpot" for N900 has been mentioned (if it is real it will be interesting to see how they tackle the modules issue)
That should cover the essentials of the thread so far.