Obsah

Toshiba M400 Portégé

Níže uvedené platí pro verzi <ubu> Ubuntu 7.10 Gutsy Gibbon. Na jiných verzích platí postupy jen částečně.

Funguje

Vše kromě polozek v „nefunguje“.

Zprovoznění čtečky otisků prstů

… pro <ubu> Ubuntu 7.10 Gutsy Gibbon a <ubu> Ubuntu 7.04 Feisty Fawn najdete na stránce Čtečka otisku prstu (Gutsy). … pro <ubu> Ubuntu 8.04 LTS Hardy Heron najdete na stránce Čtečka otisku prstu.

Zprovoznění pera a dotykového disleje

… pro <ubu> Ubuntu 7.04 Feisty Fawn, <ubu> Ubuntu 7.10 Gutsy Gibbon a <ubu> Ubuntu 8.04 LTS Hardy Heron najdete na stránce TabletPC.

Zprovoznění speciálních kláves vedle displeje

… ve verzích <ubu> Ubuntu 7.10 Gutsy Gibbon a <ubu> Ubuntu 8.04 LTS Hardy Heron zajistí skript screen-normal-keyboard.sh (pro cz klávesnici).

Otáčení displeje a speciálních kláves vedle displeje

… ve verzích <ubu> Ubuntu 7.10 Gutsy Gibbon a <ubu> Ubuntu 8.04 LTS Hardy Heron zajistí skript screen-rotation.sh (pro cz klávesnici).

Čtečka SD karet

<ubu> Ubuntu 8.04 LTS Hardy Heron: funguje bez problémů hned po instalaci Ubuntu.

<ubu> Ubuntu 7.10 Gutsy Gibbon: použijte následující opravu.

Nakopírujte soubor mmc_core.ko do adresáře /lib/modules/2.6.22-14-generic/kernel/drivers/mmc/core.

Tento soubor je vyzkoušený a funkční na verzi jádra 2.6.22-14.46, 2.6.22-14.52 a na poslední verzi jádra který vznikne kompilací aktuálního kernelu ze zdrojů ubuntu (2.6.22.9).

Zdroj: Patch pro distribuci Mandriva (autor pterjan) a vlastnoruční kompilace jádra.

Po zapnutí počítače s vloženou SD kartou tato není odhalena, ale při vložení do již nastartovaného systému je SD karta nadetekována a plně funkční.

Oprava nefukčního pera po probuzení

<ubu> Ubuntu 7.10 Gutsy Gibbon:

Nainstalujte zde dostupnou opravu: Link na opravu

<ubu> Ubuntu 8.04 LTS Hardy Heron:

Zatím nefunguje.

Mikrofon

Funguje na vstupu „Capture“.

Nefunguje

… a fungovat asi nebude :-(

Tipy

Správce napájení ukazuje špatně čas

Indikace: program powertop ukazuje jiný čas než správce napájení (gnome-power-manager).

Verze Ubuntu: <ubu> Ubuntu 8.04 LTS Hardy Heron, <ubu> Ubuntu 7.10 Gutsy Gibbon

Řešení:

 gconftool-2 --set "/apps/gnome-power-manager/general/use_profile_time" --type boolean False

Při práci v portrait modu se otevírá CD ROM

Indikace: Při opření Toshiba M400 o tělo - minimálně o moje břicho ;-) - v portrait módu dochází k nechtěnému otevření CD ROM.

Verze Ubuntu: Jakákoli

Řešení: Podle kódu v Gentoo diskuzi jsem po doplnění vstupních parametrů parametrů a opravě chyby připravil prográmek na zamčení / odemčení CD ROM.

Program si stáhněte zde (cdrom-lock), uložte například do svého home adresáře a pomocí následujících příkazů můžete zamknout nebo odemknout CD ROM:

Zamknout

 ~/cdrom-lock -l /dev/cdrom

Odemknout

 ~/cdrom-lock -u /dev/cdrom

Popis parametrů

	description: lock/unlock cdrom drive
	usage: /home/jakub/bin/cdrom/cdrom-lock -[l|u] [path to cd-rom drive]

	-l  lock cdrom drive
	-u  unlock cdrom drive

Příkazy doporučuji doplnit do skriptu na otáčení obrazovky (výše v obsahu).

Pokud máte standardní instalací a nemáte víc CD ROM jednotek, tak nic nebudete muset měnit. V opačném případě nahraďte text „/dev/cdrom“ svojí cestou k zařízení CD ROM.

Pokud si chcete program upravit (nebojte se, nic vás k tomu nenutí!) je zde zdrojový kód v c++ …

	#include <stdio.h>
	#include <fcntl.h>
	#include <sys/ioctl.h>
	#include <linux/cdrom.h>
	#include <string.h>
 
	#define ERROR_DEV "Unable to open cdrom!\n"
	#define ERROR_U "Unable to unlock cdrom door\n"
	#define ERROR_L "Unable to lock cdrom door\n"
	#define SUCCESS_L "Locked cdrom door!\n"
	#define SUCCESS_U "Unlocked cdrom door!\n"
 
	void printusage(char *progname)
	{
	    printf("description: lock/unlock cdrom drive\n\n");
	    printf("usage: %s -[l|u]  [path to cd-rom drive]\n\n", progname);
	    printf("-l  lock cdrom drive\n");
	    printf("-u  unlock cdrom drive\n");
	}
 
	int main(int argc, char** argv)
	{
 
		int lockunlock = 1;
		if (argc != 3)
		{
		    printusage(argv[0]);
		    return 1;
		}
		if (strcmp(argv[1], "-l") == 0)
			lockunlock = 1;
		else if (strcmp(argv[1], "-u") == 0)
			lockunlock = 0;
		else
		{
			printusage(argv[0]);
			return 1;
		}
 
		int cdrom = open(argv[2], O_RDONLY|O_NONBLOCK);
 
		if(cdrom == -1)
		{
			printf(ERROR_DEV);
			printf(" %s\n", argv[2]);
			return 1;
		}
 
 
		if(ioctl(cdrom, CDROM_LOCKDOOR, lockunlock) == -1)
		{
			if (lockunlock == 1) printf(ERROR_L); else printf(ERROR_U);
		    return 1;
		}
 
		if (lockunlock == 1) printf(SUCCESS_L); else printf(SUCCESS_U);
 
		return 0;
	}

Původní zdrojový kód před úpravou

… a příkaz pro kompilaci (musíte si nainstalovat balík build-essential!)

 g++ ~/cdrom-lock.cpp -o ~/cdrom-lock

Odkazy