Jeg har på det sidste arbejdet lidt med en lille email2sms løsning baseret på debian, smstools3 og en gammel tdc huawei E173 3G USB modem.

Installationen af smstools er nem, hvilket jeg også har beskrevet før her på siden.

cd /usr/src/
Wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz
apt-get install build-essential
tar -zxvf smstools3-3.1.15.tar.gz
cd smstools3
make
make install

Hvor på man man er klar til at editere i smsd.conf som er hoved configfilen for smstools
vi /etc/smsd.conf

efter end editering skal servicen naturligvis genstartes, før ændringerne træder i kraft.
/etc/init.d/sms3 restart

klar gøringen af E173 enheden vil kunne drille lidt mere end installationen af smstools3
Hvis en lsusb give neden stående output er du klar til at sætte enheden op som sms modem

Bus 001 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd.

og du ser en række ttyUSB ved en ls /dev/ttyUSB*
udevadm info -q all -n /dev/ttyUSB0 kan bruges til at få info om ens tty'er

hvis man ser noget som nedestående er usb enheden i "storage" mode og man vil ikke kunne finde sine tty'er, dette skal ændres før man kan komme igang.
Bus 001 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd.

Dette gøres ved usb_modeswitch se eventuel de forskellige usb enheders modes her.

på debian installeres modeswitch pakken med nedestående komando.
apt-get install usb-modeswitch

Jeg har ikke den rigtige modeswitch commando som virkede hos mig gemt, men google usb-modeswitch E173 og der kommer en del hits frem som kan bruges.
usb_modeswitch -v 12d1 -p 1446 -M 555342430000000000000000000000
usb_modeswitch -v 12d1 -p 1446 -M '5553424312345678000000000000001106200000010000000 0000000000000'

Updatering 15.03.2014  usb-modeswitch er ikke nødvendig på wheezy, jeg tilføjede blot nedstående til /etc/modules og jeg fix den korrekt "mode"

vi /etc/modules
usbserial vendor=0x12d1 product=1436

opsætningen af E173 i /etc/smsd.conf filen tog mig et par timer resultatet  blev nedestående som virker i forhold til både at sende og modtage sms'er, til at starte på arbejde jeg men en init = AT^CURC=0 hvilket betød at jeg kunne sende sms fra serveren, ikke kunne få modemet til at modtager nogle sms'er.

devices = E173
logfile = /var/log/smsd.log
loglevel = 7
outgoing = /var/spool/sms/outgoing
sent = /var/spool/sms/sent
checked = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
failed = /var/spool/sms/failed
receive_before_send = yes
autosplit = 0
decode_unicode_text = yes
date_filename = 1
datetime_format = %Y-%m-%d-%H-%M
eventhandler = /usr/local/bin/clean_up_and_mailx

[E173]
device = /dev/ttyUSB0
baudrate = 115200
rtscts = no
init = AT+CPMS="ME","ME","ME"
init2 = AT+CNMI=1,1,0,2
incoming = yes
incoming = high
outgoing = yes
report = yes
send_delay = 20
smsc = 4540390999
check_memory_method = 5
cs_convert = yes

/usr/local/bin/clean_up_and_mailx er et script jeg har fundet på nettet og tilpasses mit behov for vidersendelse af modtaget sms'er til den korrekt inhouse mail konto, alt kredit til: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=36&t=35933&p=427821 hvor den er "lånt" fra.

For at lave email til sms har jeg også måtte lege lidt med exim4 på serveren og oprettet en route samt en transport til formålet.

Min Router
vi /etc/exim4/conf.d/router/750_exim4-config_sms

sms_receive_router:
debug_print = "R: receive_router for $local_part@$domain"
driver = accept
domains = sms.local
transport = sms_pipe
no_more

Min Transport
vi /etc/exim4/conf.d/transport/30_exim4-config_smstools_pipe

sms_pipe:
driver = pipe
command = "/usr/local/bin/email2sms-ucs -n $local_part"

Email2sms-ucs scriptet har jeg fundet her: http://smstools3.kekekasvi.com/topic.php?id=333 og kræver perl libmine pakken som nemt installeres:
apt-get install libmime-tools-perl

Exim servicens bruger skal have rettigheder til outgoing mappen, ellers kan scriptet ikke lægge den konverteret email til sms over i outgoing mappen for afsendelse.
chown root:Debian-exim /var/spool/sms/outgoing/
samt
chmod 775 /var/spool/sms/outgoing/

husk at basal opsætning af exim4-heavy skal være på plads ellers virke "pipe" ikke og derefter køre update-exim4.conf samt /etc/init.d/exim4 restart 

Den gamle mxbox.dk server, er ved at blive "træt" dvs. blæserne i kabinettet larmer, resten af hardwaren er fantastisk stabilt, derfor kiggede jeg rundt på det hardware jeg havde liggende for at se om der skulle invisteres i et nyt kabinet eller jeg blot skulle migere serveren til andet hardware som jeg havde liggende, hurtigt fangede tanken om at bruge min "gamle" mac mini, som har været brugt som media center, men efter vi er flyttet blot aldrig er taget i brug igen.

Mac Mini bruges faktisk rundt i forskellige hostnings center, da de har ry for hardware mæssigt at være stabile, og ikke fysisk fylder særligt meget og har lav strøm forbrug.

Nu kommer jeg fra en "hostning verden" så en server med kun 1 disk, er ikke en option hos mig, derfor var opgrave 1  at få udskiftet cdrom drevet til en harddisk, dette krævede dog en disk caddy, som skulle hjem via ebay fra kina, derefter skulle maskinen max's ud med ram 8 GB, bestilt via anazon.co.uk.

Tilsidst installation af Debian stable :-) hvilket er en mindre udfordring, med mindre at man googler lidt.

Mac mini og OSX arbejder med GPT partision samt EFI boot, derfor skal man en alternativ vej for at få grub2 til at boot maskinen efter installation.

Det er nødvendig at man laver sin partitions skema via Diskutil værktøjet på Mac OSX installations cd'en, Jeg brugte leopart Snow installations cd.  Her skal man lave sin disk partition og under options vælge at det skal være af MSDOS type, derefter skal man blot rebruge disse partitions størrelser under debian installationen, hos mig havde jeg 2 diske jeg skulle lave dette nummer på, da debian serveren skulle høre på software raid 1.

Her er artiklen som fik mig i rigtig retning i forhold til ovenstående installations procedure: http://louwrentius.com/blog/2009/11/how-to-run-debian-linux-on-an-intel-based-mac-mini/


Jeg har fornyligt hjemskaffet the par TEMPer usb termometre, hydrometer er på vej hjem, som jeg vil bruge til et projekt som omhandler at kende temperaturen og fugtighed rund i det kære gamle 70'er hus jeg boer i.

TEMPer enhederne kan købes på internettet til en pris mellem 50 $ og 10$  jeg fandt mine på Ebay

Projekt tanken går på at der også skal anskaffes en eller flere Raspery PI enhed som skal udgør decentrale målestationer rund i huset tilkoblet wifi.

I første omgang handler det om at blot få disse TEMPer + TEMPer2 enheder til at virke korrekt under Debian, hvilke har vist sig at være en lille udfordring, orginalt håbede jeg at libdevice-usb-pcsensor-hidtemper-perl pakken var nok, men det viser sig at siden denne pakke sidste er blevet opdateret har PCsensor ændret par hardwaren.

får at få mine til at give et output har jeg måtte indsætte følgende i /etc/udev/rules.d/99-temper.rules

SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7401", MODE="666"

hvilket fint svar overens med min lsusb, som giver dette output

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0c45:7401 Microdia

havde jeg haft nogle ældre versioner skulle jeg havde tilføjet

SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="1130", ATTRS{idProduct}=="660c", MODE="666"

Ligenu er den eneste stykke software jeg kan få til at virke noget jeg har hentet herfra: http://www.isp-sl.com/pcsensor-0.0.1.tgz

wget http://www.isp-sl.com/pcsensor-0.0.1.tgz

tar -zxvf pcsensor-0.0.1.tgz
pcsensor-0.0.1/
pcsensor-0.0.1/pcsensor
pcsensor-0.0.1/pcsensor.c
pcsensor-0.0.1/99-tempsensor.rules
pcsensor-0.0.1/Makefile
root@xxxx:/usr/src# cd pcsensor-0.0.1/
root@xxxx:/usr/src/pcsensor-0.0.1# make
make: Nothing to be done for `all'.
root@xxxx:/usr/src/pcsensor-0.0.1# ./pcsensor
2012/05/25 21:36:16 Temperature 87.80F 31.00C

hvilket angiver at jeg har ca 31 C i mit kontor ligenu, på denne varme sommer aften, hvilket nok ikke er skudt 7 - 8 grader forkert, men hvis softwaren her fungere rimeligt er det også til at "styre" med til matematik i et script.

Jeg håber at finde udaf at få til libdevice-usb-pcsensor-hidtemper-perl at virke, men nu må vi se, dette er da en begyndelse.

I øvrigt virker enheden fint på både Windows 7 og 8

Jeg har lige fået min sensor til at virke scriptet fra denne side http://bitplane.net/2012/01/temper1-ubuntu/


Lille guide i at sætte en Debian server op som IscsiTarget som kan levere storage til andre windows og linux maskiner over netværket.

Installation af softwaren er meget simple, på Iscsi Target hosten, dvs. den server som skal dele disk ud til andre server installeres følgende.

apt-get install iscsitarget-dkms iscsitarget

Iscsi servicen enables under /etc/default

vi /etc/default/iscsitarget

ISCSITARGET_ENABLE=false

ændres til

ISCSITARGET_ENABLE=true

Resten af de config filer man skal bruge ligger under

cd /etc/iet/

Først skal vi lige have lavet nogle "img" filer som vi kan share ud, det er naturligvis også muligt at share rå disk, LVM osv. men til mit behov, hvilket er backup plads er filer godtnok.

mkdir /nas
dd if=/dev/zero of=/nas/servernavn.img bs=1024k count=10000

count angiver antal 1 MB klumper som img filen skal bestå af.

Herefter skal den deles via ietd.conf filen

vi /etc/iet/ietd.conf

Target iqn.2001-04.com.nas:storage.lun1
IncomingUser
OutgoingUser
Lun 0 Path=/nas/servernavn.img,Type=fileio
Alias LUN1
#MaxConnections 6

sidst men ikke mindst skal ipaddressen på initiatoren, dvs. den server som skal "bruge" disken liggein in i initiators.allow sammen koblet med det  den target som er lavet i initd.conf

vi /etc/iet/initiators.allow

iqn.2001-04.com.nas:storage.lun1 172.16.222.70

Nu kan man på serven med ip 172.16.222.70 tildele ovenstående lun på 10GB.

når alt er på plads skal servicen naturligvis startes

/etc/init.d/iscsitarget start

En god guide kan også ses her: http://www.howtoforge.com/using-iscsi-on-debian-lenny-initiator-and-target, dog er path's ændret lidt siden denne artikel er skrevet.




For noget tid siden skrev jeg lidt om hvordan man kunne styre power til usb devices, herunder external harddiske, så som seagate freeagent pro ( nogle år gammel version)

power on

På daværrende tidspunkt, fandt jeg udaf at man kunne sætte maskinen som harddisken var tilkoblet i Laptop mode som fik harddisken til at lave spindown, hvilket faktisk er fint nok, dog kunne jeg idag se at ved spindown brugte usb controleren forsat 7W, hvilket naturligvis kun er halvdelen af hvad disken bruger underbrug, men jeg vil nu gerne spare de 7W.

Power Off

Disken tilgåes via samba

så i min smb.conf har jeg disse linjer på det share denne holder

root postexec = /bin/sh /etc/samba/exunmount.sh

root preexec = /bin/sh /etc/samba/exmount.sh

Man har tidligere kunne afsende flere commandoer fra preexec og postexec men da dette har udgjort et sikkerhed problem, er der blevet blokeret for dette, det kan dog omgået via at lade samba kalde et script, som tænder harddisken og derefter mounter denne og det modsatte når forbindelsen slippes.  :-)

indholdet af exmount.sh

/bin/echo auto >/sys/bus/usb/devices/1-1/power/level

sleep 10s

/bin/mount -a