IrDA (FIR) driver for Toshiba laptops:
Libretto 100/110, Tecra 8100, Portege 7020

Macedonian translation by Eva Velesky

During june 2012 I got this from Eva Velesky : "I am a student at the Department of Foreign Languages and at the same time a volunteer at an organization named Translation for Education..." She wanted to translate this page in Macedonian. I answered : "You can do it but this may be obsolete...". Three weeks later, the translation was done. Quite bad translation, without the good HTML tags that make the readable. However, I made a link the the macedonian page. The next day, I have got a mail from James Petterson who explained why my text has been translated : don't trust those people. They making that in a commercial purpose. The translation made by Google translate (you can check that). When you post the link back to the site (where the translation is located) you help them to prove the site Google score and the PageRank of the site. The higher PageRank and Google score the more people can find the site, the more money this site cost. It's a commercial sites. He was right.

Sources (version >= 2.13)

Notes

Changelog after V 1.91

Changelog

V2.14    Sync with [Linux-IrDA] patch-2.4.1-pre8-irda1  Mon, 22 Jan 2001
V2.15    Martin Lucina <mato@kotelna.sk> sync with 2.4.18, substantial fixes
V2.16    Martin Lucina <mato@kotelna.sk> fix freeregion, default to verbose
V2.17   Christian Gennerat <christian.gennerat@m4x.org> save_flags();cli(); replaced by spinlocks
V2.18   Christian Gennerat <christian.gennerat@m4x.org> Change probe default options

Driver name

I called "donauboe". Actually, it is a new version of the Toshiba Oboe driver that is included in the Linus kernel-source tree (toshoboe version 1.91), which is always the reference for all unoptimized modes. I cannot replace this driver by the new driver before I have received some feedback.. With a different name, it is easier to maintain 2 versions of the driver. The name is the contraction of the name of the second chip (the Donau Oboe) that it can manage.

MIR problem

MIR doesn't look to work on Libretto.
Not tested.

FIR problem

The biggest problem I had during the validation was that FIR needs more bandwidth than SIR, and when a beam allow the discovery of a computer, it is not always strong enough to allow FIIR transmission, when this happens, pppd begins the connection, order a speed change, and then, do not receive anything. I have had doubts about speed changes, but it was a hardware problem.
If you want to use FIR transmission, shorten the distance between computers, and put the mirrors with a precise orientation!

Todo

Installation (for kernel versions not including donauboe)

Installation 

Modprobe options

max_baud "Maximum baud rate"
Can force donauboe to work at lower speed.
Correct values are: 2400, 4800, 9600, 19200, 38400, 57600, 115200, 1152000, 4000000.
do_probe "Enable/disable chip probing and self-test"
For debugging on untested configurations, run donauboe with do_probe=1
If your hardware is trustable, you can get a light driver, by changing option USE_PROBE to:
#undef  USE_PROBE

Performances

Using NetPerf with default data (high compression) or a gzipped file (low compression or none) In SIR, compression reaches a ratio of 20. effective throughput is about 50% of transfer speed.
In FIR, compression has a ratio of only 2.5. (limited by a disk access throughput of about 600kB/s), effective throughput is about 26% of transfer speed (pre-amble and post-amble generated by FIR hardware are more long than the xbofs added by SIR software).

SIR mode (115kbaud)

Slave computer is a Toshiba Libretto 50: irtty=/dev/ttyS0
TCP STREAM TEST to irnet2
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 43689  16384  16384    10.17    1211.03
 32768  32768  16384    10.10    1499.66
 65536 131070   2048    11.75    1463.19
 65536 131070  16384    11.18    1345.81
131070  65536   8192    10.21    1649.96
131070  65536  16384    10.22    1667.55

 43689  16384  16384    11.00    1328.48
 32768  32768  16384    10.09    1156.38
 65536 131070   2048    10.97    1425.22
 65536 131070  16384    10.46    1200.72
131070  65536   8192    10.21    1277.66
131070  65536  16384    10.17    1237.77

with file -F /etc/irda/pppd.log.gz
TCP STREAM TEST to irnet2
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 43689  16384  16384    14.29      70.03
 32768  32768  16384    11.85      72.06
 65536 131070   2048    33.64      67.49
 65536 131070  16384    30.69      71.17
131070  65536   8192    20.97      70.75
131070  65536  16384    19.36      67.59

 43689  16384  16384    16.80      54.62
 32768  32768  16384    12.00      69.44
 65536 131070   2048    33.34      66.01
 65536 131070  16384    29.51      72.84
131070  65536   8192    19.49      73.13
131070  65536  16384    21.17      73.94

TCP REQUEST/RESPONSE TEST to irnet2
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec

16384  87380  1        1       9.99        2.00
16384  43689
16384  87380  4        4       9.99        1.90
16384  43689
16384  87380  16       16      10.00       1.90
16384  43689
16384  87380  64       64      9.99        1.90
16384  43689
 
 

Slave computer is a Compaq Armada 1700: irtty=/dev/ttyS2
CP STREAM TEST to irnet2
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 43689  16384  16384    10.24    1395.52
 32768  32768  16384    10.08    1391.78
 65536 131070   2048    10.39    1454.10
 65536 131070  16384    10.43    1332.29
131070  65536   8192    10.26    1450.50
131070  65536  16384    10.26    1494.37
with file -F /etc/irda/pppd.log.gz
TCP STREAM TEST to irnet2
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 43689  16384  16384    14.39      57.64
 32768  32768  16384    12.44      66.33
 65536 131070   2048    32.32      66.92
 65536 131070  16384    33.51      61.34
131070  65536   8192    18.31      68.02
131070  65536  16384    19.94      71.47
 

FIR mode  (4Mbaud)

Slave computer is a Toshiba Libretto 100: Donauboe 2.13
TCP STREAM TEST to irnet1
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 87380  16384  16384    10.19    2187.68
 32768  32768  16384    10.24    2521.35
 65536 131070   2048    10.22    2391.73
 65536 131070  16384    10.45    2396.57
131070  65536   8192    10.20    2603.08
131070  65536  16384    10.22    2410.94

 87380  16384  16384    10.36    2543.16
 32768  32768  16384    10.22    2538.78
 65536 131070   2048    10.20    2389.96
 65536 131070  16384    10.52    2318.29
131070  65536   8192    10.19    2605.19
131070  65536  16384    10.22    2578.94
with file -F /etc/irda/pppd.log.gz
TCP STREAM TEST to irnet1
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^3bits/sec

 87380  16384  16384    10.35     987.73
 32768  32768  16384    10.44    1004.38
 65536 131070   2048    20.20    1027.61
 65536 131070  16384    20.34    1056.57
131070  65536   8192    15.31    1048.54
131070  65536  16384    15.51    1039.34

 87380  16384  16384    10.46    1052.11
 32768  32768  16384    10.39    1009.58
 65536 131070   2048    21.07    1015.47
 65536 131070  16384    20.51    1048.30
131070  65536   8192    15.31    1052.77
131070  65536  16384    15.46    1042.66
TCP REQUEST/RESPONSE TEST to irnet1
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec

16384  87380  1        1       10.00       2.10
16384  87380
16384  87380  4        4       10.00       2.00
16384  87380
16384  87380  16       16      10.00       2.00
16384  87380
16384  87380  64       64      10.00       1.90
16384  87380

Applicable Models

According to Toshiba's lists for drivers
 
780fir98.exe Toshiba Windows 98 Fast Infrared Port Driver (Type 0) 
 Applicable Models Libretto 100CT
Portege 3010CT, 3015CT, 3020CT, 3025CT, 320CT
Satellite Pro 490CDT, 490XCDT
Satellite 2530CDS, 2535CDS, 2540CDS, 2540XCDT, 2545CDS, 2545XCDT, 305CDS, 305CDT, 310CDS, 310CDT, 315CDS, 315CDT, 320CDS, 320CDT, 325CDS, 325CDT, 330CDS, 330CDT, 335CDS, 335CDT, 4000CDS, 4000CDT, 4005CDS, 4005CDT, 4010CDS, 4010CDT, 4015CDS, 4015CDT, 4020CDT, 4025CDT, 4030CDT, 4060CDT, 4080CDT, 4080XCDT
Tecra 550CDT, 750CDM, 750CDT, 750DVD, 780CDM, 780DVD, 8000
  z426ir2k.exe Toshiba Windows 2000 Infrared Port Driver version 2.21.
 Applicable Models Portege 3110CT, 3440CT, 7140CT, 7200CT, 7200CTe, 7220CTe, 3480CT
Satellite Pro 4260DVD, 4280XDVD, 4280ZDVD, 4300Series
Tecra 8000, 8100