hardware

warning: Creating default object from empty value in /data/web/1/000/027/003/273448/htdocs/panticz.de/modules/taxonomy/taxonomy.pages.inc on line 33.

LSI MegaRAID 9240-4i / 9260-4i perfomance

LSI MegaRAID 9240-4i / TOSHIBA MK1001TRKB SAS 1TB
1x HDD RAID0
write ? MB/s
read ? MB/s
2x HDD RAID1
write ? MB/s
read ? MB/s
4x HDD RAID5
write ~28 MB/s
read ? MB/s
4x HDD RAID10
write 300 MB/s
read ? MB/s

LSI MegaRAID 9260-4i / TOSHIBA MK1001TRKB SAS 1TB
1x HDD RAID0
write 145 MB/s
read 147 MB/s
2x HDD RAID1
write 145 MB/s
read 160 MB/s
4x HDD RAID5
write ~18 MB/s
read 430 MB/s
4x HDD RAID10

Brother MFC 7320

Install printer
wget https://raw.githubusercontent.com/panticz/installit/master/hardware/install.brother-mfc-7320.printer.sh -O - | bash -

#!/bin/bash

# enable multiverse repository
cat <<EOF> /etc/apt/sources.list.d/extra-repository.list
deb http://archive.ubuntu.com/ubuntu $(lsb_release -cs) universe
deb http://archive.ubuntu.com/ubuntu $(lsb_release -cs) multiverse
EOF
apt-get update -qq

# install printer driver
apt-get install -y brother-cups-wrapper-laser

# remove multiverse repository
rm /etc/apt/sources.list.d/extra-repository.list
apt-get update -qq

# create printer
lpadmin -p Brother-MFC-7320 -E -v usb://Brother/MFC-7320 -P /usr/share/ppd/Brother/MFC7220.ppd -o PageSize=A4

# FIXME: set resolution to 1200
# -o Resolution=1200x600dp

Install scanner
wget https://raw.githubusercontent.com/panticz/installit/master/hardware/install.brother-mfc-7320.scanner.sh -O - | bash -

#!/bin/bash

# patch udev rules
cat <<EOF>> /lib/udev/rules.d/40-libsane.rules
ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
EOF

# restart udev
sudo service udev restart

# download driver
wget http://pub.brother.com/pub/com/bsc/linux/dlf/brscan3-0.2.11-4.i386.deb -P /tmp

# install driver
sudo dpkg -i /tmp/brscan3-0.2.11-4.i386.deb

Yamaha RX-V3800 / RX-V3900 AV-Receiver

Install and configure DLNA server for Yamaha RX-V3800
# install MiniDLNA
http://www.panticz.de/Install-MiniDLNA

# configure MiniDLNA for Yamaha PC/MCX player
sed -i 's|#notify_interval=895|notify_interval=86400|g' /etc/minidlna.conf

lyc
http://www.panticz.de/lyc

wlyc
http://www.panticz.de/wlyc

wlyc for Yamaha RX-V3900
https://github.com/panticz/wlyc/blob/master/wlyc3900.html
http://dl.panticz.de/wlyc/wlyc3900.html

Comparison Chart: Yamaha RX-Z7 vs. RX-V3900 vs. RX-V3800

wlyc - Linux Yamaha Receiver Webcontrol

GitHub repository
https://github.com/panticz/wlyc
Demo
http://dl.panticz.de/wlyc/wlyc3900.html

https://raw.githubusercontent.com/panticz/wlyc/master/wlyc

#!/bin/sh

URL="http://cdn1.iconfinder.com/data/icons/super-mono-basic/blue"

# get parameter
p1=`echo "$QUERY_STRING" | cut -d"&" -f1 | cut -d"=" -f2`
case "$QUERY_STRING" in
   *\&*)
   p2=`echo "$QUERY_STRING" | cut -d"&" -f2 | cut -d"=" -f2`
   ;;
esac

# parameter
# cmd 1
# cmd 2
# image url
# alt and title text
# short description
# accesskey
link() {
    echo "<div class='l'><a href='?p1=$1&p2=$2' accesskey='$6'><img src='$URL/$3' alt='$4' title='$4'>$5</a></div>"
}

# run command
/root/lyc $p1 $p2





# head
echo "Content-type: text/html"
echo ""

echo "<html>"
echo "<head>"
echo "<link href='http://dl.panticz.de/wlyc/wlyc.css' rel='stylesheet' type='text/css'>"
echo "</head>"
echo "<body>"

# print command
echo "<div class='cmd'>$p1 $p2</div>"

# control
echo "<div class='title'>Power</div>"
link power off button-cross_basic_blue.png "Power Off" OFF
link power on button-power_basic_blue.png "Power On" ON

echo "<div class='title'>Input</div>"
link input dvd disc_basic_blue.png DVD DVD
link input net music_basic_blue.png "Internet Radio" NET
link input usb usb-stick_basic_blue.png USB USB
link input pc computer_basic_blue.png PC PC

echo "<div class='title'>Volume</div>"
link mute on speaker-mute_basic_blue.png Mute "MUTE" m 
link volume down button-remove_basic_blue.png Display "VOL-" -
link volume up button-add_basic_blue.png Display "VOL+" +
link volume -70 speaker_basic_blue.png "Volume -70 dB" -70
link volume -65 speaker_basic_blue.png "Volume -65 dB" -65
link volume -60 speaker_basic_blue.png "Volume -60 dB" -60
link volume -55 speaker_basic_blue.png "Volume -55 dB" -55
link volume -50 speaker_basic_blue.png "Volume -50 dB" -50
link volume -45 speaker_basic_blue.png "Volume -45 dB" -45
link volume -40 speaker_basic_blue.png "Volume -40 dB" -40
link volume -35 speaker_basic_blue.png "Volume -35 dB" -35
link volume -30 speaker_basic_blue.png "Volume -30 dB" -30


echo "<div class='title'>OSD</div>"
link osd display desktop_basic_blue.png Display DISP
link osd menu site-map_basic_blue.png Menu MENU
link osd left navigation-left_basic_blue.png Left LEFT
link osd up navigation-up_basic_blue.png Up UP
link osd enter button-check_basic_blue.png Enter ENTER
link osd down navigation-down_basic_blue.png Down DOWN
link osd right navigation-right_basic_blue.png Right RIGHT

echo "<div class='title'>DSP</div>"
link dsp 2ch equalizer_basic_blue.png 2ch 2ch
link dsp 7ch equalizer_basic_blue.png "7ch Stereo" 7ch

echo "<div class='title'>Memory</div>"
link memory 1 inbox_basic_blue.png "Memory 1" 1
link memory 2 inbox_basic_blue.png "Memory 2" 2
link memory 3 inbox_basic_blue.png "Memory 3" 3
link memory 4 inbox_basic_blue.png "Memory 4" 4
link memory 5 inbox_basic_blue.png "Memory 5" 5
link memory 6 inbox_basic_blue.png "Memory 6" 6

echo "<div class='title'>Media</div>"
link prev "" button-rew_basic_blue.png Previous PREV
link stop "" button-stop_basic_blue.png Stop STOP
link play "" button-play_basic_blue.png Play PLAY
link next "" button-ff_basic_blue.png Next NEXT

echo "</body>"
echo "</html>"

Links
http://your.recier.ip/YamahaRemoteControl/UnitDesc.xml

lyc - Linux Yamaha receiver control (over serial / RS232 interface)

Yamaha RX-V3800 and some older models like DSP-AX1 are great AV-Receiver, but unfortunately they have no control / web interface to manage it from outside. With a USB-Serial adapter connected to the reciver RS-232 interface, a computer or router and lyc you can control the reciver. In addition, a web interface can be created with wlyc to provide a web access to all network devices like PC, smartphone or tablet.

GitHub repository
https://github.com/panticz/lyc

Download binary
http://dl.panticz.de/lyc/i386/lyc - i386 compiled
http://dl.panticz.de/lyc/ar9132/lyc - Atheros AR9132 (TP-LINK TL-WR1043ND / TL-WDR4300 router)

HowTo compile and run
1. download lyc.c and Makefile
2. compile with: make
3. set up USB Serial adapter http://www.panticz.de/USB-Serial-adapter
4. run command:
./lyc input dvd
./lyc volume up

Run on OpenWrt router
1. download sources
2. comile with
make mips
4. copy lyc to OpenWRT router:
scp lyc root@OPENWRT_IP:/root/lyc
5. login to root@YOUR_OPENWRT_IP
6. download wlyc (OpenWrt wget can not access https, use http redirection)
wget -q http://dl.panticz.de/wlyc/wlyc -O /www/cgi-bin/wlyc
chmod 755 /www/cgi-bin/wlyc
7. Open im broser:
http://OPENWRT_IP/cgi-bin/wlyc
Example: http://ROUTER_IP/cgi-bin/wlyc?p1=input&p2=dvd

cros-compile script for OpenWRT
http://dl.panticz.de/lyc/compile_openwrt_ar9132.sh

http://raw.githubusercontent.com/panticz/lyc/master/lyc.c - lyc source code

#include <stdio.h> /* Standard input/output definitions */
#include <string.h> /* String function definitions */
#include <unistd.h> /* UNIX standard function definitions */
#include <fcntl.h> /* File control definitions */
#include <errno.h> /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */
#include "rxvx700.h" /* Yamaha RX-Vx700 protocol codes */

#define STX 0x02
#define ETX 0x03
#define DC1 0x11

int fd;

//Initialize serial port
int init_port()
{
    int portstatus = 0;

    struct termios options;
    // Get the current options for the port...
    tcgetattr(fd, &options);
    // Set the baud rates to 9600...'textB' un
    cfsetispeed(&options, B9600);
    cfsetospeed(&options, B9600);
    // Enable the receiver and setSTX local mode...
    options.c_cflag |= (CLOCAL | CREAD);

    options.c_cflag &= ~PARENB;
    options.c_cflag &= ~CSTOPB;
    options.c_cflag &= ~CSIZE;
    options.c_cflag |= CS8;
    //options.c_cflag |= SerialDataBitsInterp(8);           /* CS8 - Selects 8 data bits */
    options.c_cflag &= ~CRTSCTS;                            // disable hardware flow control
    options.c_iflag &= ~(IXON | IXOFF | IXANY);           // disable XON XOFF (for transmit and receive)
    //options.c_cflag |= CRTSCTS;                     /* enable hardware flow control */


    options.c_cc[VMIN] = 0;     //min carachters to be read
    options.c_cc[VTIME] = 0;    //Time to wait for data (tenths of seconds)


    // Set the new options for the port...
    //tcsetattr(fd, TCSANOW, &options);


    //Set the new options for the port...
    tcflush(fd, TCIFLUSH);
    if (tcsetattr(fd, TCSANOW, &options)==-1)
    {
        perror("On tcsetattr:");
        portstatus = -1;
    }
    else
        portstatus = 1;

    return portstatus;
}


/*
* send command to reciver
*/
void send_cmd(const char *n) {
    int len = strlen(n);

    // create command
    char cmd[len + 2];
    cmd[0]=STX;
    cmd[len + 1]=ETX;

    // copy string to char array
    int i;
    for (i = 0; i < strlen(n); i++) {
        cmd[i + 1] = n[i];
    }

/*
    // debug
    printf("CMD:");
    for (i = 0; i < sizeof(cmd); i++) {
        printf("%c|", cmd[i]);
    }
    printf("\n");
*/

    write(fd, cmd, sizeof(cmd));
}

/*
* send init command to reciver
*/
void init_cmd() {
    char b[5];
    b[0]=DC1;
    b[1]=0;
    b[2]=0;
    b[3]=1;
    b[4]=ETX;

    int n = write(fd, b, sizeof(b));
}

/*
* open serial port
*/
int open_port(void)
{
    int fd; /* File descriptor for the port */
    fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);

    if (fd == -1) {
        /*
        * Could not open the port.
        */
        perror("open_port: Unable to open /dev/ttyUSB0 --- \n");
    } else {
        fcntl(fd, F_SETFL, 0);
    }

    return (fd);
}

/*
* decode command
*/
int run_cmd(char *cmd1, char *cmd2) {
    int l = 0;

    // check parameter
    if(cmd1 != NULL) {
        l += strlen(cmd1);
    }

    if(cmd2 != NULL) {
        l += strlen(cmd2);
    }

    // put parameter together
    char c[l + 2];
    strcpy(c, cmd1);
    if(cmd2 != NULL) {
        strcat(c, " ");
        strcat(c, cmd2);
    }

    int i;
    int size = (int)(sizeof(cmd) / sizeof(*cmd));
    for(i = 0; i < size; i++) {
        // search command
        if(strcmp(c, cmd[i][0]) == 0) {
            // todo calculate volume
            // int i = (int)strtol(cmd[i][1], (char **)NULL, 10);

            char code[strlen(cmd[i][1]) + 1];
            strcpy(code, cmd[i][1]);

            char *pch;
            pch = strtok(code, " ");
            while (pch != NULL) {
                send_cmd(pch);

                pch = strtok(NULL, " ");
            }

            return 0;
        }
    }

    return 1;
}

/*
* main
*/
int main(int argc, char **argv) {
    if(argc == 1) {
        return 1;
    }
        
    fd = open_port();

    if(fd == -1) {
        printf("Error opening serial port\n");
    } else {
        if(init_port() == -1) {  
            sleep(.5);
            printf("Error initializing serial port\n");

            close(fd);
            return 0;
        }

        sleep(.5);
        init_cmd();

/*
        // todo: recive response from reciver
        if (n < 0) {
            fputs("write() of X bytes failed!\n", stderr);
        } else {
            printf("Successfully wrote 8 bytes\n");

            sleep(.5);
            char buffer[200];
            int n = read(fd, buffer, sizeof(buffer));
            sleep(.5);
            if (n < 0) {
                fputs("read failed!\n", stderr);
            } else {
                printf("Successfully read from serial port -- %s\n", buffer);
            }
        }
*/

        sleep(.5);
        if(run_cmd(argv[1], argv[2]) == 1) {
            printf("Command not found\n");
        }

        sleep(.5);
        close(fd);
    }

    return 0;
}

https://raw.githubusercontent.com/panticz/lyc/master/rxvx700.h - Yamaha RS232 codes

// todo: add Zone2 and Zone3
const char* cmd[][2] = {
    {"power on", "07E7E"},
    {"power off", "07E7F"},

    {"input cd", "07A15"},
    {"input dvd", "07AC1"},
    {"input bd", "07AC8"},
    {"input netusb", "0F7F013FC0"},
    {"input usb",   "0F7F013FC0 0F7F0138C7"},
    {"input net",   "0F7F013FC0 0F7F0137C8"},
    {"input pc",    "0F7F013FC0 0F7F0136C9"}, 

    {"volume up", "07A1A"},
    {"volume down", "07A1B"}, 
    {"volume -30", "2308B"},
    {"volume -35", "23081"},
    {"volume -40", "23077"},
    {"volume -45", "2306D"},
    {"volume -50", "23063"},
    {"volume -55", "23059"},
    {"volume -60", "2304F"},
    {"volume -65", "23045"},
    {"volume -70", "2303B"},
    {"volume -75", "23031"},
    {"volume -80", "23027"},

    {"mute on", "07EA2"},
    {"mute off", "07EA3"},

    {"sleep off", "07EB3"},
    {"sleep 120", "07EB4"},
    {"sleep 90", "07EB5"},
    {"sleep 60", "07EB6"},
    {"sleep 30", "07EB7"},

    {"dsp 7ch", "07EFF"},
    {"dsp 2ch", "07EC0"},
    {"dsp normal", "07EFD"},
    {"dsp straight", "07EE0"},
    {"dsp general", "07EFC"},

    {"memory 1", "07E35"},
    {"memory 2", "07E36"},
    {"memory 3", "07E37"},
    {"memory 4", "07E38"},
    {"memory 5", "07E39"},
    {"memory 6", "07E3A"},

    {"osd menu", "0F7F012FD0"},
    {"osd enter", "0F7F0131CE"},
    {"osd display", "0F7F0135CA"},
    {"osd up", "0F7F012ED1"},
    {"osd down", "0F7F0134CB"},
    {"osd left", "0F7F0132CD"},
    {"osd right", "0F7F0130CF"},

    {"enhancer on", "07ED8"},
    {"enhancer off", "07ED9"},

    {"stop", "0F7F013DC2"},
    {"play", "0F7F013EC1"},
    {"next", "0F7F013CC3"},
    {"prev", "0F7F013BC4"},

};

https://raw.githubusercontent.com/panticz/lyc/master/Makefile - Makefile

STAGING_DIR=../toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR

all:
	gcc $(FLAGS) $(INCLUDEDIR) lyc.c -o lyc

arm:
	arm-linux-gnueabihf-gcc lyc.c -o lyc

mips:
	$(STAGING_DIR)/mips-openwrt-linux-uclibc-gcc lyc.c -o lyc
        
clean:
	rm -f *~ *.o *.cgi lyc

Links
http://mark.jerde.org:13780/v1/comp/rxv2400/
http://linuxmce.org/
http://forum.linuxmce.org/index.php?topic=5759.0
http://www.remotecentral.com/cgi-bin/mboard/rc-touch/thread.cgi?849
http://www.omei.de/

AX88772A Fast Ethernet USB Adapter

Set fixed ethernet device
cat <> /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ATTR{address}=="00:11:22:33:44:55",KERNEL=="eth*", NAME="eth1"
EOF

Configure IP
cat <> /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
EOF

lsusb
...
Bus 002 Device 003: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet
...

lsmod | grep asix
asix 27650 0
usbnet 31879 1 asix

Perfomance

Install Brother P-Touch QL-500 / QL-550 / QL-560 / QL-570 under Ubuntu

wget https://raw.githubusercontent.com/panticz/installit/master/hardware/install.brother-ql-labelprinter.sh -O - | bash -

#!/bin/bash

[ ! -d /usr/share/cups/model ] && mkdir /var/spool/lpd
[ ! -d /usr/share/cups/model ] && mkdir /usr/share/cups/model
#ln -s /etc/init.d/cups /etc/init.d/cupsys

# create outdated cupsys init script
cat < /etc/init.d/cupsys
#!/bin/bash

/etc/init.d/cups \$@
EOF
chmod a+x /etc/init.d/cupsys

cat < /var/lib/dpkg/info/ql570cupswrapper.list
./
./usr/
./usr/local/
./usr/local/Brother/
./usr/local/Brother/PTouch/
./usr/local/Brother/PTouch/ql570/
./usr/local/Brother/PTouch/ql570/cupswrapper/
./usr/local/Brother/PTouch/ql570/cupswrapper/cupswrapperql570pt1
./usr/local/Brother/PTouch/ql570/cupswrapper/brcupsconfpt1
EOF

mkdir -p /var/spool/lpd/ql570

wget http://www.brother.com/pub/bsc/linux/dlf/ql570lpr-1.0.1-0.i386.deb -P /tmp
dpkg -i --force-all /tmp/ql570lpr-*.i386.deb

wget http://www.brother.com/pub/bsc/linux/dlf/ql570cupswrapper-1.0.1-0.i386.deb -P /tmp
dpkg -i --force-all /tmp/ql570cupswrapper-*.i386.deb

# connect and power-on the printer

# delete default printer
lpadmin -x QL-570

# create new printer (example for QL-500)
lpadmin -p Brother_P-Touch -E -v usb://Brother/QL-500 -P /usr/share/cups/model/Brother/brother_ql570_printer_en.ppd

# recreate printer
lpadmin -x QL-500
lpadmin -p Brother_QL-500 -E -v usb://Brother/QL-500 -P /usr/share/cups/model/brql500.ppd

lpadmin -p Brother_38x90 -v socket://PRINTSERVER_IP:9100 -E -P /usr/share/cups/model/Brother/brother_ql570_printer_en.ppd -o PageSize=38x90 -o PageRegion=38x90 -o ImageableArea=38x90 -o PaperDimension=38x90

# set Label to 38x90 mm
lpadmin -p Brother_38x90 -v usb://Brother/QL-500 -E -P /usr/share/cups/model/Brother/brother_ql570_printer_en.ppd -o PageSize=38x90 -o PageRegion=38x90 -o ImageableArea=38x90 -o PaperDimension=38x90 -o BrPriority=BrQuality -o orientation-requested-default=4

# test
sudo apt-get install -y psutils

# LINKS
http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/faq_esp.html
http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_esp1.html
http://solutions.brother.com/linux/en_us/download_esp.html#QL-500
http://welcome.solutions.brother.com/bsc/public_s/es/os/linux/linux_ql500550.html

smartmontools (smartctl)

wget -q --no-check-certificate https://raw.githubusercontent.com/panticz/installit/master/install.smartmontools.sh -O - | bash -

#!/bin/bash

# ensure that this script is run by root
if [ $(id -u) -ne 0 ]; then
sudo $0
  exit
fi

apt-get install -y smartmontools --no-install-recommends

Enable SMART on device
sudo smartctl -s on /dev/sdb

Show device SMART Health status
sudo smartctl -H /dev/sda

Show device selftest log
smartctl -l selftest /dev/sdb

Get info from usb data
sudo smartctl -d sat -a /dev/sdb

Test
smartctl -t short /dev/sdb
smartctl -t offline /dev/sdb

Calculate total writen GB from a SSD
echo "Total GB written: $(echo "scale=3; $(sudo /usr/sbin/smartctl -A /dev/sda | grep "Total_LBAs_Written" | awk '{print $10}') * 512 / $((1024*1024*1024))" | bc)"

Links
http://sourceforge.net/apps/trac/smartmontools/wiki/Supported_USB-Devices

Toshiba Tegra AC100

# https://github.com/nthchild/ubuntu-ac100

HowTo
https://wiki.ubuntu.com/ARM/TEGRA/AC100

install nvflash (broken, download and install manually)
http://developer.download.nvidia.com/assets/mobile/files/tegra-linux-12.alpha.1.0.tar.gz
wget https://phablet-paz00.googlecode.com/files/nvflash_20110628-2_all.deb -O /tmp/nvflash_20110628-2_all.deb
sudo dpkg -i /tmp/nvflash_20110628-2_all.deb

get bootrom
# wget http://cdimage.ubuntu.com/lubuntu/releases/quantal/release/lubuntu-12.10-preinstalled-desktop-armhf+ac100.bootimg -O /tmp/ac100.bootimg
# wget http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-desktop-armhf+ac100.bootimg -O /tmp/ac100.bootimg
wget http://cdimage.ubuntu.com/lubuntu/daily-preinstalled/pending/trusty-preinstalled-desktop-armhf+ac100.bootimg -O /tmp/ac100.bootimg

flash bootrom
# Connect the USB cable between your AC100 and the host PC
# Press CTRL and ESC keys and power on your AC100
sudo nvflash --bl /usr/lib/nvflash/fastboot.bin --download 6 /tmp/ac100.bootimg
# poweroff
# poweron

download image
sudo mount /dev/sdb1 /mnt

# wget http://cdimage.ubuntu.com/lubuntu/releases/quantal/release/lubuntu-12.10-preinstalled-desktop-armhf+ac100.tar.gz -P /mnt/
# wget http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-desktop-armhf+ac100.tar.gz -P /mnt/
wget http://cdimage.ubuntu.com/lubuntu/daily-preinstalled/pending/trusty-preinstalled-desktop-armhf+ac100.tar.gz -O /tmp/trusty-preinstalled-desktop-armhf+ac100.tar.gz

sudo umount /mnt

# OPTIONAL configuration
wget https://raw.githubusercontent.com/panticz/installit/master/hardware/ac100.postinstall.sh -O - | sudo bash -

#!/bin/bash

# update packages
sudo apt-get update
sudo apt-get -y dist-upgrade

# configure german keyboard
sudo sed -i 's|XKBLAYOUT="us"|XKBLAYOUT="de"|g' /etc/default/keyboard



# disable unnececery services 
sudo update-rc.d -f avahi-daemon remove
sudo update-rc.d -f bluetooth remove

sudo mkdir /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/orca-autostart.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/vino-server.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/bluetooth-applet.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/bluetooth-applet-unity.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/jockey-gtk.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/deja-dup-monitor.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/onboard-autostart.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/user-dirs-update-gtk.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/ubuntuone-launch.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/gnome-user-share.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/telepathy-indicator.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/gwibber.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/gdu-notification-daemon.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/zeitgeist-datahub.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/pulseaudio-kde.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/print-applet.desktop /etc/xdg/autostart/disabled
sudo mv /etc/xdg/autostart/nautilus-autostart.desktop /etc/xdg/autostart/disabled


# remove unnecessary apps
sudo apt-get remove -y gnome-screensaver
sudo apt-get remove -y gnome-orca onboard
sudo apt-get remove -y brasero
sudo apt-get remove -y zeitgeist
sudo apt-get remove -y rhythmbox
sudo apt-get remove -y unity
sudo apt-get remove -y totem

# install extra apps
sudo apt-get install -y language-pack-de language-pack-gnome-de
sudo apt-get install -y thunderbird-locale-de thunderbird-locale-en hunspell-de-de hunspell-en-us
sudo apt-get install -y openvpn network-manager-openvpn
sudo apt-get install -y language-pack-de-base
sudo apt-get install -y sshfs vlc 




#
# ubuntu 12.04 (gnome)
#
# configure repository
cat < /etc/apt/sources.list
deb http://ports.ubuntu.com/ubuntu-ports/ precise main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ precise-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ precise-updates main restricted universe multiverse
#deb http://ports.ubuntu.com/ubuntu-ports/ precise-proposed main restricted universe multiverse
EOF

# install gnome classic
wget http://installit.googlecode.com/hg/install.gnome-fallback.sh -O - | bash -

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t boolean -s /apps/gnome-screensaver/idle_activation_enabled false
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t boolean -s /apps/gnome-power-manager/lock_on_blank_screen false
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t -s /apps/gnome-power-manager/lock_use_screensaver_settings false
#gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
#gsettings set org.gnome.power-manager lock-use-screensaver 'false'

# configure nautilus (broken ?)
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t string -s /apps/nautilus/preferences/default_folder_viewer 'list_view'
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t string -s /apps/nautilus/list_view/default_zoom_level smallest
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t string -s /apps/nautilus/preferences/show_directory_item_counts never


#
# ubuntu 12.10 (lxdm)
#
# install nvidia driver
if [ $(lsb_release -rs | tr -d ".") -ge 1210 ]; then
    wget http://flie.no-ip.org:7080/ac100/deb/nvidia-tegra-ventana-codecs_16.0.0-0ubuntu1_armhf.deb
    wget https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-tegra/16.2.0-0ubuntu3/+build/3907865/+files/nvidia-tegra_16.2.0-0ubuntu3_armhf.deb
    sudo dpkg -i nvidia-tegra_16.2.0-0ubuntu3_armhf.deb nvidia-tegra-ventana-codecs_16.0.0-0ubuntu1_armhf.deb
fi

# clean up
sudo apt-get -y autoremove
sudo apt-get clean

echo "*** ac100 postinstall done, reboot in 30 sec ***"
sleep 30

sudo reboot


# todo
# autologin
# remove screen lock
# nvidia tegra graphic
#dpkg -i Downloads/nvidia-tegra_12~beta1-0ubuntu1_armel.deb
1

Ubuntu images for AC100
http://cdimage.ubuntu.com/releases/11.10/release/
http://cdimage.ubuntu.com/releases/12.04/beta-2/
http://cdimage.ubuntu.com/daily-preinstalled/current/

Links
http://cdimage.ubuntu.com/lubuntu/daily-preinstalled/current/
http://ac100.grandou.net/hw_accelerated_video_playback - Ubuntu 12.10 / 12.04 Nvidia graphic driver for Toshiba AC100
http://wiki.informatik.hu-berlin.de/nomads/index.php/Erfahrungsbericht_Toshiba_AC100#Nvidia_Grafiktreiber_f.C3.BCr_Tegra_2
http://ac100.grandou.net/
http://ac100.grandou.net/nvflash#debian_ubuntu_package - NvFlash
http://ac100.grandou.net/ubuntu_deubuntuization
http://developer.nvidia.com/content/linux-tegra-release-12-alpha-1-released
http://ac100.grandou.net/apps

Accelated Video
wget http://launchpadlibrarian.net/118260107/linux-image-3.1.10-6-ac100_3.1.10-6.9_armhf.deb
wget http://flie.no-ip.org:7080/ac100/deb/nvidia-tegra_16.1.0-0ubuntu3~fly2_armhf.deb
sudo dpkg -i linux-image-3.1.10-6-ac100_3.1.10-6.9_armhf.deb nvidia-tegra_16.1.0-0ubuntu3~fly2_armhf.deb

http://ac100.grandou.net/hw_accelerated_video_playback
nvgstplayer -i "file://$1" --svs="nvxvimagesink" --sas="nv_omx_audiosink"

Java Linux ARM v6/v7 VFP
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

# axis
http://ports.ubuntu.com/pool/multiverse/a/axe/axe_6.1.2-16.2_armhf.deb
http://ports.ubuntu.com/ubuntu-ports/pool/universe/t/tk8.6/tk8.6-lib_8.6.0-1ubuntu1_armhf.deb

# kali
http://cdimage.kali.org/kali-latest/armhf/

Lubuntu / LXDM enable autologin
/etc/lightdm/lightdm.conf.d/10-autologin.conf
[SeatDefaults]
autologin-user=USERNAME
autologin-user-timeout=0
user-session=Lubuntu
greeter-session=lightdm-gtk-greeter

# old
sudo echo "deb http://people.debian.org/~jak/ac100/ unreleased main non-free" > /etc/apt/sources.list.d/people.debian.org.jak.ac100.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AC2A5FFE00823EC2
sudo apt-get update
sudo apt-get -y --force-yes install xserver-xorg-video-tegra

wget https://launchpad.net/~canonical-arm-dev/+archive/ppa/+build/2610299/+files/nvidia-tegra_12-0ubuntu1~alpha1monson6_armel.deb -O /tmp/nvidia-tegra_12-0ubuntu1~alpha1monson6_armel.deb
sudo dpkg -i /tmp/nvidia-tegra_12-0ubuntu1~alpha1monson6_armel.deb

Syndicate content