September 2004 Archives

Do Sep 16 14:33:38 CEST 2004

return of the mua

For the past years I used mutt as my one and only email client. Recenty, as I changed my complete email structure and moved from mbox to IMAPs, I also took the opportunity and chose to change my MUA to be Mozilla Thunderbird. Dumb move, I should have anticipated that..
Being honest it definitely is another feeling: Grafical presentation of emails, even HTML-Mails were now readable without any extra activity! I used Thunderbird 0.7 through 1.0 - and every single one sucked when it came to using it on a daily basis. I did not count how many times I had to restart Thunderbird or how many unsent emails I lost when it crashed.
Being sick of it I returned to use the good and stable mutt, even while it still lacks some functionality it is probably the most usable MUA available.

To set up mutt to use IMAPs and aSMTPs do the following:

  • At compilation time be sure to configure mutt with ‘–enable-ssl’ and ‘–enable-imap’ options.
  • Add the following lines to your ~/.muttrc:
    set spoolfile=imaps://your.server.here/inbox
    set folder=imaps://your.server.here/
    set imap_user=username
    set imap_home_namespace=Maildir
    set certificate_file=~/.mutt.crt
  • I chose ssmtp to deliver the mails to my SMTP-SSL server. Again, during compiletime be aware of configuring with ‘–enable-ssl’ parameter. Ensure that net.c (line 30 ff) looks as follows (you might have to patch it )
    #ifdef HAVE_SSL
    SSL *ssl;
    extern Bool UseTLS;
    extern Bool UseTLSCert;
    extern char *TLSCert;
    #endif

    Afterwards add another line to your ~/.muttrc:
    set sendmail="/usr/bin/ssmtp -au username -ap password"
    ( This of course is an although easy but very bad approach, saving the password in plaintext is actually not a good choice and you should not do that. At least chmod 0600 the .muttrc file. I instead patched the ssmtp-source so the binary already contains my password, but thats not an improvement, as it still is saved in clear text )

    Unfortunately, ssmtp is an abandoned project. And its successor bssmtp is sadly not maintained anymore, either. It works fine, though.


Posted by iso | Permanent Link | Tags: nerd stuff, linux | comments >>

Mo Sep 13 14:25:38 CEST 2004

XMMS-MAILNOTIFY

News
The MailNotification Plugin for Xmms has also moved to this page.

What?
This plugin pauses your current soundfile and plays a wav file on new mail (mbox) arrival.

Download
xmms-mailnotify-0.2.0.tar.gz ( 155 kb )


Posted by iso | Permanent Link | Tags: warez, nerd stuff, linux | comments >>

Mo Sep 13 14:24:06 CEST 2004

XMMS-HELLOWORLD

News
The xmms HelloWorld-Plugin has found this place as its new homepage. Nothing has changed so far.

What?
It is a very basic plugin for people eager to see how to write a simple plugin for Xmms.

Download
xmms-helloworld-0.1.0.tar.gz ( 23 kb )


Posted by iso | Permanent Link | Tags: warez, nerd stuff, linux | comments >>

So Sep 12 23:17:22 CEST 2004

smc 2602w v3

Ever tried to get a SMC 2602Wv3 wireless card run under linux and finally gave up on it ? Seems to be a common problem. After some experimentation I got mine to work.

Quick description:
The card has an Am1771 chipset for which drivers exist at http://emota.com.br/wireless/am1772.html. My system happened to be a fresh installed Debian unstable with a custom 2.4.27 kernel. I tried the same card with the same drivers under different conditions ( Debian stable, Knoppix 3.4(?) ) and had no luck, the system froze when I inserted the module. On the other hand, as mentioned, Debian unstable worked fine.

Quick install guide:

	aptitude install libreadline4-dev bison flex
tar xjvf Am1771.tar.bz2 cd Am1771/Linux bash source x86_setup.script make set_platf_x86 set_pci_on set_release make # the make did not encounter any errors (using gcc 3.3.4) mknod /dev/nautilus c 254 0 logout cd .. cd obj/x86/2.4.27 insmod ./Nautilus.o
After successfully executing the code above you should be able to use the Httpserver to scan for a net. DHCP did not work in my case, but I can live with that. While struggling with the card I encountered a bug or at least some strange behaviour in the drivers: Before joining a net you have to perform a search for it, otherwise the join command will result in an invalid_parameters(!) error.

Once this whole mess is set up successfully you might want to automate the procedure. I wrote a small init.d-script which loads the module, runs an expect-skript which uses Nshell to configure the card and join the net and finally sets an ip and a default route. The script to join the net is as follows:

	#!/usr/bin/expect

	set timeout 10

	spawn /usr/local/src/Am1771/Linux/Applications/obj/x86/2.4.27/Nshell
	expect {
	timeout {set ERROR 1
	exit $ERROR}
	"SUCCESS" {send "\r"}}
	expect "nsh> " {send "MLME MLME_RESET.request(00:04:E2:9B:87:37, TRUE)\r"}

	expect "SUCCESS" {send "MLME MLME_SET.request(dot11FragmentationThreshold,2346)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11RTSThreshold,2347)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11ShortPreambleOptionImplemented, FALSE)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11PrivacyInvoked,TRUE)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyID, 0)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyIndex,1)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyValue,FF:EE:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyIndex,2)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyValue,\"\")\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyIndex,3)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyValue,\"\")\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyIndex,4)\r"}
	expect "SUCCESS" {send "MLME MLME_SET.request(dot11WEPDefaultKeyValue,\"\")\r"}
	expect "SUCCESS" {send "MLME MLME_SCAN.request(ANY_BSS, FF:FF:FF:FF:FF:FF, \"\", ACTIVE, 10, \[11\], 1000, 3000)\r"}
	expect "SUCCESS" {send "MLME MLME_JOIN.request((00:30:F1:B6:31:14, \"WLAN\", INFRASTRUCTURE, 100, 1, 0x0000000000000000, 0x000
	0000000000000, (11), (0,0,0,0), (0), 0x0011, \[2,4,11,22\]), 10, 10, \[2,4,11,22\])\r"}
	expect "SUCCESS" {send "MLME MLME_AUTHENTICATE.request(00:30:F1:B6:31:14, OPEN_SYSTEM, 1000)\r"}
	expect "SUCCESS" {send "MLME MLME_ASSOCIATE.request(00:30:F1:B6:31:14, 1000, 0x0011, 1)\r"}
	expect "SUCCESS" {send "MLME MLME_POWERMGT.request(ACTIVE, FALSE, TRUE)\r"}
	expect "SUCCESS" {send "quit\r"}
	
This script will join a WEP-encrypted net on channel 11 with essid WLAN. Note that you will have to change the first row to your own mac adress and the last few adresses (00:30..) to your access-point's adress. Also put in the right key (FF:EE:..)

In case you need more info: Linuxquestions:smc2602w.


Posted by iso | Permanent Link | Tags: nerd stuff, linux | comments >>

So Sep 12 10:59:58 CEST 2004

airstar 2 dvb-t

In case you own a Technisat Airstar2 DVB-T card as I do here is a very quick install guide:

  1. Upgrade to kernel 2.6.10 or later as the required drivers are integrated into it. ( If you cannot afford upgrading then you have to patch your kernel sources with the files found in the CVS at linuxtv.org ).
  2. Do a make menuconfig, choose: Device Drivers > Multimedia devices > Digital Broadcasting devices and select DVB For Linux, DVB Core Support and as module mark B2C2/Technistat Air/Sky/CableStar 2 PCI, Frontends/Zarlink MT352 based. After installing the kernel and the new modules reboot into it.
  3. You now have some devices in /dev/dvb/adapter0/. To make use of it you will first have to create a channels.conf file. Download the dvb-apps from linuxtv.org. After compilation use the util/scan/dvbscan utility together with a file from util/scan/dvbscan/dvb-t/ corresponding to your local area. For example: ./dvbscan dvb-t/de-Hamburg > ~/.tzap/channels.conf (be sure to create the ~/.tzap directory beforehand)
  4. If dvbscan was successful you now have some channels listed in the channels.conf file. Now use util/szap/tzap to tune in to a selected channel by doing f.e.: ./tzap "Das Erste" -r
  5. As the card does not have a MPEG-Decoder we need some software to substitute that. Of course the almighty mplayer can do that by running mplayer - < /dev/dvb/adapter0/dvr0
  6. If you find that zapping through the channels has become an impossible task you should check out kaxtv as well as vdr (which you might want to install anyway!).

Edit: A very promising application is Kaffeine - unfortunately you'll have to install KDE to use it, though. But it definetely is worth the waste of HD space.

Edit2: In case you need a working channels.conf, i put mine up for download: channels.conf ( 3,7 kb )


Posted by iso | Permanent Link | Tags: warez, nerd stuff, video, linux | comments >>