I can get Adhoc+master mode working if I don't use the OpenWRT routines for setting up wireless - i.e - /etc/config/wireless and "wifi up".
I am using a Meraki Mini with Kamikaze snapshot from 17 May 2007.
Here is /etc/config/network
# Copyright (C) 2006 OpenWrt.org
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option type bridge
option ifname eth0 ath2
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
config interface mesh
option ifname ath0
option proto static
option ipaddr 10.10.255.254
option netmask 255.255.0.0
config interface wifi
option ifname ath1
option proto static
option ipaddr 10.10.200.1
option netmask 255.255.255.240
and /etc/config/wireless
config wifi-device wifi0
option type atheros
option channel 5
# option diversity 1
# option txantenna 0
# option rxantenna 0
# option distance 2000
# disable radio to prevent an open ap after reflashing:
option disabled 0
config wifi-iface
option device wifi0
option network mesh
option mode adhoc
option ssid dans_mesh
option hidden 0
option txpower 15
option bgscan enable
option encryption none
config wifi-iface
option device wifi0
option network wifi
option mode ap
option ssid dans_open_network
option hidden 0
config wifi-iface
option device wifi0
option network lan
option mode ap
option ssid dans_LAN
option hidden 0
if I let the OpenWRT init scripts handle this I get this situation
root@OpenWrt:/# wifi up
wifi0: Invalid mode combination in config
root@OpenWrt:/# iwconfig
eth0 no wireless extensions.
lo no wireless extensions.
br-lan no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Ad-Hoc Frequency:2.432 GHz Cell: 02:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ath1 IEEE 802.11g ESSID:"dans_open_network" Nickname:""
Mode:Master Frequency:2.432 GHz Access Point: 06:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ath2 IEEE 802.11g ESSID:"dans_LAN" Nickname:""
Mode:Master Frequency:2.432 GHz Access Point: 0A:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
the mesh interface has no ssid when it should be dans_mesh, and I can see but can't connect to dans_open_network and dans_LAN.
If however, I do this:
root@OpenWrt:/# wifi down
wifi0: Invalid mode combination in config
root@OpenWrt:/# wlanconfig ath create wlandev wifi0 wlanmode adhoc
ath0
root@OpenWrt:/# wlanconfig ath create wlandev wifi0 wlanmode ap
ath1
root@OpenWrt:/# wlanconfig ath create wlandev wifi0 wlanmode ap
ath2
root@OpenWrt:/# iwconfig ath0 essid dans_mesh
root@OpenWrt:/# iwconfig ath1 essid dans_open_network
root@OpenWrt:/# iwconfig ath2 essid dans_LAN
root@OpenWrt:/# iwconfig
eth0 no wireless extensions.
lo no wireless extensions.
br-lan no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"dans_mesh" Nickname:""
Mode:Ad-Hoc Frequency:2.412 GHz Cell: 02:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:2 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ath1 IEEE 802.11g ESSID:"dans_open_network" Nickname:""
Mode:Master Frequency:2.412 GHz Access Point: 06:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:2 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ath2 IEEE 802.11g ESSID:"dans_LAN" Nickname:""
Mode:Master Frequency:2.412 GHz Access Point: 0A:18:0A:01:20:67
Bit Rate:0 kb/s Tx-Power=15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-94 dBm Noise level=-94 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
root@OpenWrt:/# ifconfig ath0 up
root@OpenWrt:/# ifconfig ath1 up
root@OpenWrt:/# ifconfig ath2 up
everything seems to work the way I expect - I find it is important to do the ifconfig athX up in the right order or not all the wireless come up (checking from my laptop with NetStumbler).