Greg 'groggy' Lehey
grog at lemis.com
Thu Dec 19 12:28:04 CST 2002
On Thursday, 19 December 2002 at 9:18:26 +1030, Gibb, Bradley (EDS) wrote:
> On Wednesday, 18 December 2002 8:26 PM, Steve Sloan wrote:
>> Just wondering if anyone has a Satellite connection to the net running
>> into a Linux box.
>> I have a client that can't get ADSL (too far from the exchange) and we
>> are looking at Satellite as an alternative.
>> After looking a Big Pond's website it appears they only support Windows.
>> They have a note saying they DON'T support Linux and also don't support
>> a solutions that allows you to plug it into a hub.
>> Internode tell me they don't do Satellite, is there any other way of
>> doing this and getting it to work with a Linux box. ie. what I really
>> want is something like the DSL-300 that just plugs in the Ethernet card
>> on the PC.
> I have used the IHug satellite option. Again, this was a 56K modem
> back channel. The card that the satellite dish plugged into was just
> like a LAN card and acted as an device that could be brought up and
> down with an ifup and ifdown command. (It has been a while, so I
> can't remember the actual card name.)
> The people at IHug also unofficially had support and drivers for
> Linux, if you spoke to the right people. You just have to make sure
> that you get the satellite frequencies right or you would have hours
> of pulling your hair out. :-)
The drivers are a bit of a mess, but the main issue is the
instructions. I've done a fair amount of work both on the code and on
the instructions; I'm attaching the latter to give you an idea of
The drivers are delivered partially in binary form, which is why I'm
running them with Linux rather than FreeBSD. I find that after about
two months, the machine wedges. I suspect that this is the old
version of Linux I'm running (RH 7.0), not the driver: there's a
memory leak somewhere. Apart from that, though, the service works
well, and I often get more than the advertised bandwidth. I have a
nominal 400 kb/s downlink, but I've had up to 1.2 Mb/s occasionally.
Finger grog at lemis.com for PGP public key
See complete headers for address and phone numbers
-------------- next part --------------
SkyMedia-200D PC card Linux Driver & Applications version 2.01
This distribution and instructions significantly modified by Greg
Lehey, LEMIS, <grog at lemis.com>. The following is an adaptation of the
instructions to a simpler and more reliable method.
This is Linux software of SkyMedia-200D.
(Product No : SM200D, SM200DTP, SM200DPA)
This version is modified to support new Skymedia-200D product - SM200DTP,
SM200DPA - as well as SM200D.
Some of this software is provided in source form in order to be able
to adapt it to your configuration.
System requirements are as follows:
1. Pentium 133Mhz or higher
2. 32Mbyte of system memory or more
3. 3Mbyte of free space on hard drive
4. Linux 2.4 kernel. It is possible that the code will work with a
2.2 kernel, but this has not been tested.
5. SkyMedia-200D card
To install Linux S/W for Skymedia-200D,
1. Download the file 'sm200d.tar.gz' into the build directory. We
suggest /usr/src/skydata, but the name doesn't really make any
2. Extract the data:
# tar xzvf sm200d.tar.gz
This will create a new directory called driver.
3. Change to the new directory:
# cd driver
4. (Optional step. If you don't understand, don't worry. You
probably never need to do this, but the information is supplied for
people who want to know).
If necessary, check the Makefiles. By default, the following
software will be installed:
File Purpose Location
sm200d start and monitor /usr/local/bin
SkyUpgrade undocumented /usr/local/bin
sm200 start script /usr/local/bin
R98.sm200 system init script /etc/rc3.d
config configuration file /etc/sysconfig/sm200
sm200 driver module /lib/modules/<kernel>
<kernel> is the release number of the kernel. For example, if you
are running kernel 2.4.9, the module will be installed in the
directory /lib/modules/2.4.9, which is where the system will look
If you want, change the names in sys/Makefile for the driver
module, and usr/Makefile for the others.
5. Check also that you have a Linux source tree at /usr/src/linux; the
driver requires header files in this tree.
6. Type 'make install'. The software will be built and installed.
7. Configure the file /etc/sysconfig/sm200/config with the values
given to you by your service provider.
To load the driver and start the card, run the script
/usr/local/bin/sm200. Normally, if you have /usr/local/bin in your
PATH, you can do this with just
The module will be started automatically at boot time.
The startup scripts assign a dummy address to the card; the driver
does not use this address, but you should avoid having it conflict
with any other interface in the system.
The main interface program is sm200d. It performs two functions:
1. It initializes the connection by reading in the configuration file
(by default /etc/sysconfig/sm200/config) and setting the card
accordingly. Perform this function like this:
# sm200d -i
If you want to use a different configuration file, just specify
# sm200d -i /var/tmp/testconfig
2. It displays the current state of the card and an indication of the
signal strength. Run it like this:
# sm200d -s
In this mode, the program displays a status line every five
Wed Oct 17 13:24:49 2001 Running AGC: 203
The text "Running" shows that the card is correctly set up and is
receiving a signal. The AGC value 203 indicates the signal
strength. Higher values indicate a stronger signal. Typical
values range from 180 to 210, though values as low as 150 may be
To stop sm200d in this mode, press ^C.
Differences between sm200d and SkyData
The original program was called SkyData. It performed both functions
in sequence. It also required a file name. Apart from that, and some
minor format differences, the function is the same. Note that sm200d
requires either or both of the -i and -s flags.
Q: The software does not compile cleanly.
A: Check if you have kernel source correctly installed. This source
has only been tested with Linux kernel 2.4.9, and it may not
compile with a non-2.4 kernel. Make sure that your kernel source
is located in or linked to /usr/src/linux directory.
Q: When trying to load the driver, I get the following message:
sm200: kernel-module version mismatch
sm200 was compiled for kernel version 2.4.0-0.26
while this kernel is version 2.4.9.
A: Your Linux userland has a different version from the kernel, and
you have included the userland header files. This was a problem
with the original version of this driver from Telemann, but should
no longer occur. Please check that you have the header file
directories /usr/src/linux/include/linux and
/usr/src/linux/include/asm. Contact Greg Lehey <grog at lemis.com> if
you have these directories and you get this problem anyway.
Q: I have installed the driver successfully but I cannot receive
internet data via satellite.
1) The card LEDs
In normal operation, the green LED is on and the yellow LED
flashes when data is received.
2) The driver status
After the driver is loaded, you should find an interface
sm200d Link encap:Ethernet HWaddr 00:90:BC:01:4D:B0
inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1493 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Interrupt:10 Base address:0x1000
Check that the second line (inet addr) is set; otherwise you
should assign an IP address. This should happen automatically
with the startup script, but it will not happen if you just
load the driver manually.
3) The signal status
Check if the satellite configuration is correct:
# sm200d -i
SkyData V.2.02 started. (C) 1999 Diego Picciani
E-Mail: d.picciani at novacomp.it
Skymedia Product No.: SM200DPA
Skymedia Firmware Version: 1.02
Skymedia Driver Version: 2.01
Frequency: 12560.137 Mhz
Symbol Rate: 17.981 MSym/s
Local Oscillator: 11300.000 Mhz
LNB Mode: High
LNB Power: On
Tone Burst: Off
Diseqc Port: Off
Start Tuning ...
(there is a significant pause here)
Tuner Lock: Ok
QPSK Lock: Ok
Viterbi Lock: Ok
Frame Lock: Ok
FEC Rate: 7/8
AGC Value: 205
Error 1: 0
Error 2: 0
MAC Address: 00:90:bc:01:4d:b0
IP Address: 10.0.0.1
Filtering: IP Address
Data PID: 0092 Multiprotocol Encapsulation
4) PID settings
Check if the correct PIDs are set.
5) The network configuration. (especially for Debian package)
- type 'cat /proc/sys/net/ipv4/conf/sm200d/rp_filter'.
If it has the value other than '0', change it to 0.
- type 'echo 0 > /proc/sys/net/ipv4/conf/sm200d/rp_filter'
$Id: README,v 1.2 2001/10/17 03:57:30 grog Exp grog $
More information about the linuxsa