Thursday, 20 March 2003

Satellite SM200D Installation Instructions for Smoothwall (and IPCop)

Okay..

After a huge delay, I have finally managed to put the smoothwall/satellite mod together...

smoothwall_sm200d_1.0.tgz - my v1.0[415k]
list_of_new_files.txt - A list of the files I have changed/added.

The original drivers.
SM200D SkyMedia Telemann v2.20 drivers - For SM200Dxx Series.

Helps to see what I did if you diff each file against the original smoothwall file.
It really wasn't that hard. Just a lot of working out. So use what I ahev done and go forth!

eg: tar cvfz /tmp/originals.tgz -T list_of_new_files.txt
diff -r

What's in there ?
  • Compiled 2.20 Text Drivers (app and module) against the 2.2.25 Kernel (smoothwall kernel in 2.2.25) (using debian of course)

  • Built for smoothwall 1.0 patch level 4.

  • Control scripts to load the module and change firewall rules (at start up)

  • A web interface to put in the settings you need.


  • How do I use them
    Backup your smoothie, (of it's a new one, don't worry you've got the CD ;)
  • patch it to level 4. (if they go beyond level 4, let me know and I'll check
    this tar file for conflictions).

  • Setup smoothwall to be a normal dialin machine. (Red Modem is Dialup)
  • Using scp (scp, WinSCP etc etc), copy the tgz to /tmp

  • Login as root.

  • cd / && tar xvfz /tmp/

  • Go to the smoothwall admin and you will see a new link under [dialup] satellite. Put your settings in there.
    I just realised that the IP address is irrelevant. leave it as 1.1.1.1 if you want. I used to use it where the dialup account was not meant for dialup (was given a different IP address via PPP)

    Email me if you have any issues - ramon_at_thebuckland.com and I'll see if I can help.

    How did I compile them
    1. Loaded up a 2.2.25 kernel in debian to match that of smoothwall. (this isn't necessary I believe)
    2. Obtained the kernel headers for 2.2.25.
    3. Downloaded the drives from telemann's site.
    4. Ran the INSTALL script once.
    5. Edited the INSTALL script and commented out the 'gzip lines for each section'
    6. edited drv/drv.mak and added -I/usr/src/kernel-headers-2.2.25/include
    to the end of CFLAGS (after the -O)
    7. Ran the INSTALL again.
    8. This did create some warnings, but all googling showed that they were okay.
    ... but I can't test these drivers as I no longer have this card. This is just a service to you :-)
    hope you appreciate it.
    9. collected the bits together (in the Release directory)
    10. Used the smoothwall 1.0 patched to level4.
    11. Added my mods created back in April last year.

    Some notes
    I have noticed that there is a mysterious 2.30 version of the driver but I was never able
    to find it. A friend pointed me to an smdstats program that someone wrote. Text based, similar to the Windows stuff, shows the signal strength. (Excercise for the reader to get it into smoothwall).

    This 'hack' is not suggested to work against a smoothwall > 1.0 pl 4.

    I don't have a card, so these drivers may not work. But they error saying they can't
    find a card okay so that is always good.

    If you want to donate me a card ;) i can test them and get them working proper.

    Extra bits
    I used to use my satellite service with a dialup ISP that did not know about it.
    What this meant was that the dialup account I used did not have the satellite IP address.
    It was dynamic.

    Basically, on top of this patch above, what I did was added some lines to the /etc/ppp/ip-up
    to create an alias interface so my packets would go out with the source address of my satellite

    Add this after
    system('/usr/bin/killall', 'dnrd');
    system @commandlist



    # change the ppp0 to ppp0:0 for satellite

    &readhash("${swroot}/satellite/settings", \%satsettings)



    if ($satsettings{'ENABLED'} eq 'on')

    {



    $localip = $satsettings{'IP_ADDRESS'};

    $interface = $interface . ':0';



    # ifconfig ppp0:0 netmask 255.255.255.255 pointopoint

    er-IP>



    &log("Satelite: < ".$interface."> is now ".$satsettings{'IP_ADDRESS'});

    system(@cmd,('/sbin/ifconfig',$interface, $localip,'netmask',

    '255.255.255.255','pointopoint',$remoteip));



    system(@cmd,('/sbin/route','del','default'));

    system(@cmd,('/sbin/route','add','default','gw',$remoteip,'dev',$interface));



    }



    Cheers!
    Ramon
  • No comments:

    Current 5 booksmarks @ del.icio.us/pefdus