My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
= Frequently Asked Questions =
EDIT
== General ==

*''What happened to Pebble Linux?''*

You can still djjkjkkkoad [http://metrix.net/support/dist/old/ Metrix Pebble] and the original [http://nycwireless.net/pebble/ NycWireless Pebble]. Pyramid is almost as complete feature wise as pebble however there are still some things that need to be added. We suggest you try Pyramid, even [http://nycwireless.net Nycwireless] the original home of pebble has switched to using Pyramid.

*''Is Pyramid Ubuntu?''*

No. Most of the stock system binaries are taken from Ubuntu but thats about it. There is no "apt" or any of the chrome you would expect to find in Ubuntu or a desktop focused operating system.

*''Why do you store binaries in source control?''*

Pyramid is primarily created from pre-built binaries. There is some new code, primarily the web interface. However we make a lot of changes to the system, its layout and the binaries from release to release. We need to track that. Since we do not build from source we keep all the files in source control. This allows us to track what changes we make to the distro and it allows you to track it as well.

== Setup and Install ==

*''I just installed Pyramid, how do I log in?''*

The default login is username: root password: root
You should change this immediately, this allows you to login via the serial console, ssh, and the ssl web interface.

*''How do I install Pyramid on a device with on-board compact flash?''*

Use a PXE install environment to install the system. Check out the InstallingPyramid page.

*''Can I upgrade from Pebble?''*

If you are working on a Soekris 4526 or 4826, and you already have Pyramid or Pebble installed, you can use UpgradingImg


== Captive Portals ==

*'' What is the recommended captive portal on Metrix Pyramid and how does one most easily install it? ''*

Currently [http://wifidog.org WifiDog] and [http://chillispot.org chillispot] are included in Pyramid. They both require a backend server to handle authentication and splash pages. On pyramid you get the gateway software which handles blocking and permitting of users on the network based authentication to the central server.

I have also packaged up nocat splash for pyramid, it provides minimal portal/splash page functionality. You can find it here: http://ken.ipl31.net/pyramid/ its meant to be untarred into /usr/local. The default config uses ath0 for the wireless interface and eth0 for the internal/ethernet interface. You will probably need to change that for your environment. You will also need it add it to the appropriate run level to start at boot.


== Hardware Issues ==


*'' How do I use a USB drive on Mark II or Net48XX system ''*

This requires a couple of kernel modules to be loaded which are not loaded by default. Add the following modules to your '''/etc/modules''' file so they will be loaded at boot:

{{{
ohci_hcd
usb_storage
sd_mod
}}}

Alternatively if you just want to test the functionality you may manually load the modules from the command line:

{{{
modprobe ohci_hcd usb_storage sd_mod
}}}

If you run the 'dmesg' command you should see some informative output regarding the discovery of your USB hardware.

At this point if your usb drive is connected you should see devices in the "/dev/" directory that begin with "sd":

{{{
pyramid:~# ls /dev | grep sd
sda
sda1
}}}

From here you may mount the drive to a mount point of your liking, in this case we created a directory called "usb" in "/mnt":

{{{
cd /mnt
mkdir usb
mount /dev/sda1 /mnt
}}}

If your usb drive is FAT formatted drive you may need to do the following:

{{{
mount -t vfat /dev/sda1 /mnt -o iocharset=cp437
}}}



*''If I disable my Atheros interface (ath0 or ath1) it dissapears''*

This is a bug in our web interface that is caused by how we handle creating VAPs with the madwifi driver. To re-enable the card edit the /etc/network/interfaces file and uncomment the line "#auto ath0" by removing the "#". Reboot the box and the interface should be back.




*''My Prism2 card is acting funny''*

If your Prism card ( NL-2511MP ) is acting squirrely (can't keep an association in managed mode, doesn't scan correctly, etc.) you may need to update the firmware.

{{{

cd /usr/local/firmware/prism
prism2_srec -v -f wlan0 pk010101.hex sf010800.hex
prism2_srec -v -f wlan1 pk010101.hex sf010800.hex
hostap_diag wlan0
hostap_diag wlan1

}}}

*'' How do I disable antenna diversity? or I am only using one antenna on my Wi-Fi card in my router''*

If you are using only a single antenna port on your atheros card, you will want to disable antenna diversity (diversity enables the card to handle some forms of multipath interference, but if you only have a single antenna connected, then the card is just throwing away power to the unconnected antenna).

To turn off antenna diversity (using madwifi-ng, which is the default on pyramid), add the following lines to {{{/etc/sysctl.conf}}}:

{{{
dev.wifi0.diversity = 4
dev.wifi0.rxantenna = 1
dev.wifi0.txantenna = 1
}}}

Of course, this assumes that your atheros device is {{{wifi0}}} and that the antenna is connected to port 0 on the card. If either of these things are not the case, you can change the {{{wifi0}}} to the correct device (perhaps {{{wifi1}}}) or you can change the antenna assignments to {{{rxantenna = 2}}} and {{{txantenna = 2}}}.

*'' How do I turn up the power on my wifi card? ''*

When you bought your router, you probably were sold a Wi-Fi card with a particular power rating (100mW, 200mW or even 400mW). Depending on the card you have, Pyramid may not enable it at the highest transmit power. The output power can be controlled by the "iwconfig" command. How high the power will go depends on your card. For a CM9 the highest output power is 19dbm ( note the '''Tx-Power''' ):

{{{

ath0 IEEE 802.11g ESSID:"Metrix Atheros 1"
Mode:Master Frequency:2.412 GHz Access Point: 00:0B:6B:57:22:56
Bit Rate:0 kb/s Tx-Power:19 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:2 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0



}}}

Every card is different. To determine how high you can set the power, start increasing in increments of 1 dbm till you recieve an error:


{{{
iwconfig ath0 txpower 16
}}}

then

{{{
iwconfig ath0 txpower 17
}}}

etc... Until you see an error like this:

{{{
Error for wireless request "Set Tx Power" (8B26) :
SET failed on device ath0 ; Invalid argument.
}}}

This usually indicates that they argument you have supplied is not supported by the card, this you have reached the maximum power setting.

There are some issues in the MadwifiNg driver, where in client mode your power settings will only stick once the card is associated. If it loses association it will switch back to default power setting.


If you'd like this setting enabled by default, you can add it to {{{/etc/network/interfaces}}} after the {{{pre-up sleep 3}}} command:

{{{
pre-up iwconfig ath0 txpower 19
}}}



*'' My WRAP does not reboot with Pyramid Linux!! Router hangs on reboot''*

It's just a problem with GRUB, let's fix this!

First of all remount read write to modify files :)
{{{
remountrw
}}}

Now let's open the file to modify
{{{
nano /boot/grub/menu.lst
}}}

on the lines that start with the word "kernel" append the string reboot=bios

This is the file I have after the changes
{{{
timeout 3

serial --device=/dev/ttyS0 --speed=19200 --word=8 --parity=no --stop=1
terminal serial

title Metrix
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 console=ttyS0,19200n8 reboot=bios

title Shell
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 console=ttyS0,19200n8 init=/bin/bash reboot=bios

}}}

Save & Exit the nano editor :)

remount read only
{{{
remountro
}}}

Now switch the power off and on again for the last time! Since this boot the kernel option you are passing will allow correct reboots! :)


== Setting Up a Pyramid Development Environment ==

If you are interested in building a development environment, you will need to use Ubuntu Breezy as your starting point. Since the official mirrors have mostly been pulled, feel free to use ours. If you are just adding a binary or lib from the standard dist, it's extremely straightforward.

Just change your sources in /etc/apt/sources.list (on your dev box) to: http://metrix.net/ubuntu/

The kernel config is located on a running box at /proc/config.gz

Change log

r205 by j...@techie.com on Aug 14, 2010   Diff
Edited wiki page through web user
interface.
Go to: 
Project members, sign in to write a code review

Older revisions

r191 by j...@techie.com on Aug 14, 2010   Diff
Edited wiki page through web user
interface.
r190 by j...@techie.com on Aug 14, 2010   Diff
Created wiki page through web user
interface.
All revisions of this file

File info

Size: 8650 bytes, 224 lines
Powered by Google Project Hosting