Viele die ein Lenovo Thinkpad Tablet besitzen und sich ein Keyboard Folio Case gekauft besitzen haben das Problem, dass die Tastatur zwar Deutsche Tasten besitzt aber trotzdem intern das Englische Tastaturlayout nutzt. Selbst wenn man auf die Deutsche Tastaturbelegung umstellt.

Die Lösung von Lenovon und mehrerer Foren ist es, einfach auf T9 umzustellen, was auch funktioniert. Der große Nachteil ist jedoch, dass es extrem umständlich und langsam  ist mit T9 zu schreiben weil jedes Mal das eingegebene Wort erst bestätigt werden muss.

Es gibt jedoch eine Lösung. Wenn ihr ein Factory Reset durchführt, während das Tablet im Keyboard Folio Case ist, dann funktioniert anschließend das Layout auch bei der normalen Deutschen Tastatur ohne T9. Bitte bedenkt jedoch, dass ihr mit einem Factory Reset all Eure Daten verliert und alles neu einrichten müsst.

Vorgehensweise:

  • Schaltet das Tablet mit dem Power Button aus.
  • Startet das Tablet mit dem Power Button und drückt mehrmals Volume Up während das Tablet beim start brummt.
  • Nun seid ihr im Boot Menü und könnt hier den Cache löschen und ein Factory Reset durchführen
  • Anschließend startet ihr und führ die Erstkonfiguration durch bis ihr zum Eingabetestfeld für die Tastatur kommt
  • Testet die Belegung im Eingabetestfeld und stellt dazu unten durch Drücken auf das Tastatursymbol die normale Deutsche Tastatur ein ( ohne T9 ). Das erste Auswahlfeld.

Nun sollte alles funktionieren.

Viel Spaß mit einem Thinkpad Tablet inklusive Folio Case, das auch wirklich das richtige Layout hat.

December 13, 2011, 4:55 pm Uhr

I use the Lenovo Thinkpad Tablet in combination with the German Keyboard Folio Case.

Unfortunately the German Layout does not work out of the box when the last update has been applied and the english layout is used. On many websites it is written that you should switch to T9 but this is really really slow because you always have to accept the word if it is written.

But there is a solution. When you make a factory reset and have your keyboard in the folio case it will correctly detect the german keyboard and you can use it with the german layout. The drawback is here that you will loose all your data, because you do a factory reset.

Steps to perform:

  • Shut down your tablet
  • Start your tablet with the power button and press the Volume up button several times when you feel the buzzer
  • Clear the cache and do a factory reset by selecting the corresponding entries in the bootloader
  • Restart your tablet
  • While you are configuring your system a line will be shown where you can test your keyboard. Please use the keyboard layout selection button on the bottom of the tablet and select the german keyboar layout.

Everything should work now.

December 13, 2011, 4:40 pm Uhr

I stopped blogging for some time due to some time consuming projects but now I have to leave a comment.

NetBeans 7.0 is out. You cam download it at

http://netbeans.org/downloads/, and you should!

Don’t waste your time and download this brilliant piece of work.

By the way, where can I find these nice NetBeans banners, this time?

Stefan

April 20, 2011, 9:33 pm Uhr

Today a good friend sent me a really cool CISCO IP Phone 7960. (Thank you Larry)

I never realized before that this is such a cool phone. Unfortunately I only had time to start it today and was not able to integrate it into my asterisk. I hope my PhD will be ready soon….

During the next days I will hopefully start to discover some of the nice features of the phone and write some lines about these discoveries…

May 17, 2010, 9:12 pm Uhr

Yesterday I bought a new 2TB Western Digital Caviar HD and installed it in my home server as third backup device. After some seconds my system stopped responding and crashed. A restart came to the same result and crashed again while checking my two 750GB Samsung harddrives.

After checking the devices it became clear that the worst situation happened.

All my data on the two 750GB drives is lost and so all my data and all backups of the date :-( Repairing the filesystems with fsck discovered the the root inoded of both disks are corrupted and can’t be repaired. Even the copies of the superblock are unreadable.

The only way to recover some data seems to be R-Linux, a small and free Windows Program that can be used to repair Linux harddrives. This is the first time I installed and used Windows since nearly 6 month ;-) And this to repair Linux, very strange…

The system check seems to take additional 3 days, I hope there will be recoverable data.

After installing a new and stronger power supply I was able to make drive speed tests.

Here are my results:

Corsair X32 SSD:

Timing cached reads:   2182 MB in  2.00 seconds = 1091.01 MB/sec

Timing buffered disk reads:  390 MB in  3.01 seconds = 129.37 MB/sec

Fast USB Stick:

Timing cached reads:   2216 MB in  2.00 seconds = 1108.54 MB/sec

Timing buffered disk reads:   72 MB in  3.03 seconds =  23.80 MB/sec

Samsung 750 GB SATA Server HD:

Timing cached reads:   2236 MB in  2.00 seconds = 1118.80 MB/sec

Timing buffered disk reads:  278 MB in  3.00 seconds =  92.55 MB/sec

Western Digital Caviar Green WD20EARS with 2 TB:

Timing cached reads:   1766 MB in  2.00 seconds = 883.32 MB/sec

Timing buffered disk reads:  326 MB in  3.01 seconds = 108.33 MB/sec

Timing cached reads:   1766 MB in  2.00 seconds = 883.32 MB/sec
Timing buffered disk reads:  326 MB in  3.01 seconds = 108.33 MB/sec
April 13, 2010, 4:16 pm Uhr

I finally managed to setup icecream (sys-devel/icecream on gentoo) to compile my gentoo ebuilds and kernel. The nice thing is that the compiler version and even the linux distribution does not matter.

I have gentoo, ubuntu and centos hosts working together without problems.

It took nearly one week until I found out why icecream did not start to distribute the compilation process to all hosts in the network.

Icecream / Icecc Installation on Gentoo

A very good tutorial on how to install icecream can be found here:

http://dev.gentoo.org/~bluebird/icecream.xml?style=printable

For me everything worked but the compiler did not distribute the data of my x86_64 system to the other cores in the network.

The solution for me was to emerge the latest unstable sys-devel/icecream-0.9.4 and insert

PREROOTPATH = “/usr/lib64/icecc/bin”

instead of

PREROOTPATH = “/usr/lib/icecc/bin”

to my /etc/make.conf.

Now everything works like a charm. Do not forget to change your MAKEOPTS=”-j2″ to the number of virtual cores in the whole network. If you also want to compile other sources in your network insert export

PATH=”/usr/lib/icecc/bin:/usr/lib64/icecc/bin:$PATH”

to the end of your /etc/profile file. The icecc paths needs to the first statement.

Some Icecream Monitor views

I installed the nice tool icemon, which is currently not in portage but can be found in the gentoo bugtracker.

ICEMON Star View

You can see that nearly all of the 48 cores are included in the built process.

Even emerge -e system did not hurt me due to this speed gain ;-)

Icecream Star View

Icemon Gantt View

This is a nice screenshot of all running compilations on the hosts in forms of a Gantt View. Unfortunately there are so many hosts that I had to cut the image at the bottom.

Icecream Gantt View

March 8, 2010, 4:08 pm Uhr

You have read my new post DAHDI hfc-s with vzaphfc Howto for Asterisk 1.6 (Tutorial)?

Normally you should not need to read this but if you have trouble and you dont’t know why your setup is not working, maybe this will help you finding the problem.I will not go into detail but give you same ways that you can use to locate your problem.

Debugging with DAHDI Tools

During my last tutorial you should already have emerged the dahdi-tools that really help debugging your setup. I will give you a few outputs of commands that you can compare with your own outputs. All outputs are for a hfc single card setup.

First of all you can check if your devices are recognized correctly.

Type dahdi_hardware and you should get the following information. The + after zaphfc tells that the driver has been loaded and the card is ready:

pci:0000:01:07.0     zaphfc+      1397:2bd0 HFC-S ISDN BRI card

Next you can check if your /etc/dahdi/system.conf is configured correctly and dahdi finds your channels. Type dahdi_cfg -vvv and dahdi should show the following:

DAHDI Tools Version – 2.2.1

DAHDI Version: 2.2.1

Echo Canceller(s): OSLEC

Configuration

======================

SPAN 1: CCS/ AMI Build-out: 0 db (CSU)/0-133 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 01)

Channel 02: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 02)

Channel 03: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 03)

3 channels to configure.

Setting echocan for channel 1 to oslec

Setting echocan for channel 2 to oslec

Setting echocan for channel 3 to none

The next intersting command is dahdi_scan that gives you a list of all dahdi channels with some details.
The first is my dahdi card and the second is the dummy device.

[1]
active=yes
alarms=OK
description=HFC-S PCI A ISDN card 0 [TE]
name=ZTHFC1
manufacturer=Cologne Chips
devicetype=HFC-S PCI-A ISDN
location=PCI Bus 01 Slot 08
basechan=1
totchans=3
irq=18
type=digital-TE
syncsrc=0
lbo=0 db (CSU)/0-133 feet (DSX-1)
coding_opts=AMI
framing_opts=CCS
coding=AMI
framing=CCS
[2]
active=yes
alarms=UNCONFIGURED
description=DAHDI_DUMMY/1 (source: HRtimer) 1
name=DAHDI_DUMMY/1
manufacturer=
devicetype=DAHDI Dummy Timing
location=
basechan=4
totchans=0
irq=0

[1]

active=yes

alarms=OK

description=HFC-S PCI A ISDN card 0 [TE]

name=ZTHFC1

manufacturer=Cologne Chips

devicetype=HFC-S PCI-A ISDN

location=PCI Bus 01 Slot 08

basechan=1

totchans=3

irq=18

type=digital-TE

syncsrc=0

lbo=0 db (CSU)/0-133 feet (DSX-1)

coding_opts=AMI

framing_opts=CCS

coding=AMI

framing=CCS

[2]

active=yes

alarms=UNCONFIGURED

description=DAHDI_DUMMY/1 (source: HRtimer) 1

name=DAHDI_DUMMY/1

manufacturer=

devicetype=DAHDI Dummy Timing

location=

basechan=4

totchans=0

irq=0

If everything works correctly to this point you maybe want to check if your speed and timing of the devices works correctly.
You can measure the accuracy of the boards digital signal processor with dahdi_test. If your timing works correctly you should get the following output. If nothing happens there is maybe a problem with your drivers. You can also have look at your kernel (e.g. CONFIG_HZ). You can alsow quit the test with Ctrl^C.

Opened pseudo dahdi interface, measuring accuracy…

99.995% 99.985% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994%

99.994% 99.991% 99.994% 99.994% 99.994% 99.995% 99.993% 99.993%

99.994% 99.993% 99.993% 99.993% 99.993% 99.993% 99.993% 99.993%

99.993% 99.992% 99.993% 99.994% 99.994% 99.994% 99.994% 99.994%

99.994% 99.994% 99.993% 99.993% 99.994% 99.994% 99.994% 99.994%

99.994% 99.993% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994%

99.994% 99.993% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994%

99.995% 99.982% 99.993% 99.993% 99.993% 99.993% 99.993% 99.993%

99.993% 99.993% 99.993% 99.994% 99.994% 99.993% 99.994% 99.994%

99.993% 99.993% 99.993% 99.994% 99.994% 99.994% 99.994% 99.994%

99.994% 99.993% 99.995% 99.993% 99.993% 99.994% 99.994% 99.994%

99.994% 99.993% 99.994% 99.993% 99.994% 99.994% 99.994% 99.994%

99.993% ^C

— Results after 97 passes —

Best: 99.995 — Worst: 99.982 — Average: 99.993326, Difference: 99.993439

The last tool is dahdi_speed. In contrast to the other tools you won’t find an information in the man pages what it does exactly. But there should be an output after some time. (Not longer than 30 sec)
Count: 1623726

Debugging DAHDI with Asterisk

When you started asterisk there are a few more ways to debug dahdi.
First connect your asterisk verbosely with asterisk -rvvvvv.
You can see all dahdi commands for asterisk with help dahdi.
leo*CLI> help dahdi
dahdi destroy channel Destroy a channel
dahdi restart Fully restart DAHDI channels
dahdi set dnd Sets/resets DND (Do Not Disturb) mode on a channel
dahdi set hwgain Set hardware gain on a channel
dahdi set swgain Set software gain on a channel
dahdi show cadences List cadences
dahdi show channels [trunkgrou Show active DAHDI channels
dahdi show channel Show information on a channel
dahdi show status Show all DAHDI cards status
dahdi show version Show the DAHDI version in use
dahdi show version gives me:
DAHDI Version: 2.2.1 Echo Canceller: OSLEC
dahdi show channels should output:
Chan Extension  Context         Language   MOH Interpret        Blocked    State
pseudo            default                    default                         In Service
1            default         de         default                         In Service
2            default         de         default                         In Service
dahdi show channel 1 says (2 shows nearly the same):
Channel: 1
File Descriptor: 18
Span: 1
Extension:
Dialing: no
Context: default
Caller ID:
Calling TON: 33
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: ISDN BRI Point to MultiPoint
Radio: 0
Owner: <None>
Real: <None>
Callwait: <None>
Threeway: <None>
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: no
Busy Detection: no
TDD: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: alaw
Fax Handled: no
Pulse phone: no
DND: no
Echo Cancellation:
128 taps
currently OFF
Wait for dialtone: 0ms
PRI Flags:
PRI Logical Span: Implicit
Hookstate (FXS only): Onhook
And at least dahdi show status should show something like:
Description                              Alarms  IRQ    bpviol CRC4   Fra Codi Options  LBO
HFC-S PCI A ISDN card 0 [TE]             OK      0      0      0      CCS AMI  YEL      0 db (CSU)/0-133 feet (DSX-1)
DAHDI_DUMMY/1 (source: HRtimer) 1        UNCONFI 0      0      0      CAS Unk  YEL      0 db (CSU)/0-133 feet (DSX-1)
I hope this was helpful. When you are interested in writing a dialplan in lua wait for my upcoming tutorial.
March 6, 2010, 12:40 pm Uhr

Here is my long-awaited tutorial that explains how to setup cheap hfc-s cards to be used with asterisk.

After nearly one year work and endless discussions with Larry, we were able to get a hfc single and multiport setup running and decided to write two tutorials. Thanks to Larry for his great help.

This is the english tutorial. At http://com-in.de/index.php/howto-asterisk-hfc-gentoo you will find the german version. Keep in mind that these are not simple copies. If you have trouble it might be helpful to read both ones.

Introduction

When you have finished this tutorial you will be able to directly operate cheap hfc cologne cards with asterisk without the need for additional bridges like chan_misdn (misdn), bristuff (junghanns), visdn etc.

Using hfc-s (Datasheet) cards with your asterisk is the cheapest way to enable isdn support since these cards are already available for approx. 10€/$ at ebay and you can use more than one when you need more ports.

However the text of this first tutorial will only cover TE Mode. This is interesting for everyone who wants to operate VoIP-Devices in his/her network and dial in /out via ISDN. If you want to use your devices in NT mode it is only a few minutes more work. The ebuilds you can download here are already patched to support NT-mode.

Hardware Preparations

Before you start make sure you properly  installed your ISDN card and that it does not share an IRQ with other devices. It took weeks for me to figure out that my setup did not work because my card was running on IRQ 18 and shared this with the built in ohci1394 kernel driver.

If you are unsure type lspci -v and make sure that the interrupt is not shared. Even if your card will work with a shared interrupt it can compromise your audio quality.
The output for my ready and running card is

01:07.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev 02)
Subsystem: Cologne Chip Designs GmbH ISDN Board
Flags: bus master, medium devsel, latency 16, IRQ 18
I/O ports at dc00 [disabled] [size=8]
Memory at fcfff800 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 1
Kernel driver in use: vzaphfc
Kernel modules: zaphfc

01:07.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev 02)

Kernel modules: zaphfc

Subsystem: Cologne Chip Designs GmbH ISDN Board

Flags: bus master, medium devsel, latency 16, IRQ 18

I/O ports at dc00 [disabled] [size=8]

Memory at fcfff800 (32-bit, non-prefetchable) [size=256]

Capabilities: [40] Power Management version 1

Kernel driver in use: vzaphfc

Software Installation

For this tutorial I use gentoo linux and will also provide ebuilds for it. However the patches are also usable with other distributions. If you took the time to build native packages for your distribution give a feedback so that I can link them.

Since gentoo’s last stable version of asterisk is currently 1.2.36 we want to unmask a newer release and use version net-misc/asterisk-1.6.2.5 for this tutorial. If you never used asterisk before I recommend to read something about it at first. (A reference guide to all things VOIP)

The dahdi version I use in this tutorial is net-misc/dahdi-2.2.1, the dahdi-tools version is net-misc/dahdi-tools-2.2.1.

The new ebuilds

The new ebuilds have the following differences to the native gentoo ebuilds:

  • They are a bit more recent (spandsp, dadi, dahdi-tools)
  • They support vzaphfc for one single-port HFC-cards (dahdi)
  • They include the enhanced oslec-Echocanceller (dahdi)
  • They include a NT-PTMP-Patch for asterisk

Until these packages are not part of the official portage tree you need to create an overlay if not existing that allows to use the new ebuilds instead of the official.

Creating an overlay for the Gentoo ebuilds

Simply create an overlay-directory, for example at /usr/portage/portage/overlay and insert the following line to your /etc/make.conf:

PORTDIR_OVERLAY=”/usr/local/portage/overlay”

Now we need to unpack the new ebuilds to our overlay:

cd /usr/local/portage/overlay
wget http://com-in.de/_dahdi/gentoo-local-portage.tar.bz2 -O /tmp/gentoo-local-portage.tar.bz2

tar xjpf /tmp/gentoo-local-portage.tar.bz2

Since gentoo will still use the stable ebuilds it is time to unmask the new ones in /etc/portage/package.keywords. (If you don’t need NT-Mode you can also use asterisk and asterisk-addons from portage. But keep in mind these patches only work with asterisk > 1.6.1.)

net-libs/libpri
media-libs/spandsp
net-misc/dahdi
net-misc/dahdi-tools
net-misc/asterisk
net-misc/asterisk-addons

Installation of the new ebuilds

Next check your useflags. You really should have dahdi to build asterisk with dahdi support, if you want to use a fax device with your asterisk think about spandsp.

Now we are ready to install the new ebuilds with:

emerge libpri spandsp dahdi dahdi-tools asterisk asterisk-addons

DAHDI Configuration

After your new ebuilds are installed the next step is the configuration.

DAHDI-tools comes with a generator for your configuration called dahdi-genconf that automatically create /etc/dahdi/system.conf and /etc/asterisk/dahdi_channels.conf. The latter needs to be included in /etc/asterisk/chan_dahdi.conf.

You can try this tool but I recommend to use our tested configuration files and simply copy them to the correct locations. Don’t forget to backup your old configs, before!

If you have a HFC-Single-Port-Card use:

rm /etc/asterisk/chan_dahdi.conf /etc/dahdi/system.conf
wget http://com-in.de/_dahdi/hfcs-chan_dahdi.conf -O /etc/asterisk/chan_dahdi.conf
wget http://com-in.de/_dahdi/hfcs-system.conf -O /etc/dahdi/system.conf

For users with a HFC-Multiport-Card use:

rm /etc/asterisk/chan_dahdi.conf /etc/dahdi/system.conf
wget http://com-in.de/_dahdi/hfcx-chan_dahdi.conf -O /etc/asterisk/chan_dahdi.conf
wget http://com-in.de/_dahdi/hfcx-system.conf -O /etc/dahdi/system.conf

When you use the configuration files make sure that you adopted the settings in the configuration files for your card. For the hfc-s solution the configs should normally work out of the box. For the multiport solution you have to configure your localprefix, privateprefix and port groups according to your jumper settings of your cards ( TE/ NT mode ).

Enabling the setup

It is important to load your new modules before using them, so add the following to load the modules at startup. I use the new baselayout 2.0.1 so pick the lines for the baselayout you are using. Type eix baselayout if you don’t know your current baselayout (you need app-portage/eix for eix).

Adding the modules for Gentoo Baselayout <2

If you have a HFC-Single-Port-Card use:

echo “dahdi
zaphfc
dahdi_transcode
dahdi_echocan_oslec
dahdi_dummy” >> /etc/modules.autoload.d/kernel-2.6

For users with a HFC-Multiport-Card use:

echo “dahdi
zaphfc
dahdi_transcode
dahdi_echocan_oslec
dahdi_dummy” >> /etc/modules.autoload.d/kernel-2.6

Adding the modules for Gentoo Baselayout >=2

If you have a HFC-Single-Port-Card use:

echo “modules=\”\${modules} dahdi zaphfc dahdi_transcode dahdi_echocan_oslec dahdi_dummy\”" >> /etc/conf.d/modules

For users with a HFC-Multiport-Card use:

echo “modules=\”\${modules} dahdi wcb4xxp dahdi_transcode dahdi_echocan_oslec dahdi_dummy\”" >> /etc/conf.d/modules

Starting DAHDI and asterisk

Now you should be able to start dahdi and asterisk with

/etc/init.d/dahdi start
/etc/init.d/asterisk start

and insert them to your default runlevel when you want to start them automatically

rc-update add dahdi default
rc-update add asterisk default

Usage in the Dialplan

Finally you should be able to receive calls and start calls with Dial(DAHDI/g1/${EXTEN}).

The g1 means that the first free channel should be used. If you simply write 1 it will also work but dadi  will always use the first channel.

Outlook

After this tutorial you should be able to receive and make calls using a cheap single and multiport hfc (cologne) card with your asterisk. If you have trouble read my next tutorial where I describe what really helps  to debug your setup.

If you have trouble with your dialplan or want to learn something new, read my upcoming tutorial about dial plans in lua. You will learn how to write a extensions.lua for your asterisk 1.6.2 installation.

March 6, 2010, 12:06 pm Uhr

Hello all,

it took nearly one year after we yesterday finally managed to get hfc-s cards working with asterisk 1.6.2 on gentoo x86 and x86_64, amd64. The solution now works stable with dahdi and vzaphfc.

The firsts tests worked like a charm, the quality is good and the installation quite easy.

For gentoo linux we built unofficial ebuilds that can be used by your package overlay. Your asterisk remains untouched.

The new howtos are ready. Please read the hfc-s dahdi installation howto and dahdi debug howto and ignore the following lines.

Before I start writing a howto here are  link to the patches and the ebuild for everyone who can not wait and want to start testing (Updated 2010-03-06).

<http://com-in.de/_dahdi-hfcs/gentoo-local-portage.tar.bz2>

<http://com-in.de/_dahdi-hfcs/oslec-patch_dahdi221.tar.bz2>

<http://com-in.de/_dahdi-hfcs/vzaphfc-oslec-patch_dahdi221.tar.bz2>

Many thanks to Larry, who finally created the ebuilds and had endless conversations with me over the last three months, where I worked hard for a solution.

Stefan

March 5, 2010, 10:44 am Uhr

Hello all,

after having many adventures the last weeks I come back with some news concerning hfc-s cards with dahdi.

Unfortunately it came out that the ebuild, which has been published be me in a former post does only work on 32 Bit installations. There still seems to be some trouble with the patches andI do not have influence to solve the problem.

We are currently working on a solution with vzaphfc instead of zaphfc which is quite promising.

There is an ebuild which can be compiled without trouble but when coming to asterisk and receiving or sending calls nothing happens.

When there is a solution, this will be posted here.

January 14, 2010, 6:27 pm Uhr