You are not logged in.
Hello,
I'm trying to put an Archlinux on the Asus Transformer book T200TA, and I will share here my progress. I will take note of a lot of things, when I manage to do something or when something does not work. And if you have any ideas to make something works, tell me !
- Boot under archiso : Working with patch
- Boot Archlinux on the keyboard's HDD : Working by putting boot and efi partition on the internal memory
- Virtualization of Windows 8.1 under linux : Partially working only with a 64 bit linux as host
- SD card : Working with patch
- Graphics : Working
- Random freezes : Fixed ?. Didn't experienced any since my new installation with linux 4.0
- xhci_hcd bug at boot ; Work in USB2 mode only
- Backlight control : Working
- Sound : Work on both headphone and speakers in stereo but you have to edit an alsa config file for enabling sound on one or both output and for setting the sound level. Microphone not tested.
- Wifi : Working
- Bluetooth : Not working: Not working
- Battery indicator : Working With kernell patch
- Touchpad : Partially working : Only one finger and very unpleasant because the cursor move a little before you click.
- Touchscreen : Partially working : Works randomly and seems to not release click when you remove your finger.
The T200TA has a lot on common with the T100TA, so, much of my fixes come from this computer (as it has been release one year before and the T200 is currently pretty new).
- http://www.jfwhome.com/2014/03/07/perfe … book-t100/
- https://github.com/AdamWill/baytrail-m
- https://bbs.archlinux.org/viewtopic.php?id=179948
If you try to boot, it will not work. Because, as T100, it search only for 32bit efi (even if the cpu can handle 64bit OS). You can do like him.
Or you can do like me, I think it's easier, but really dirty (it's not a full script, execute it only part by part) :
## Create working directory
mkdir work
cd work
## Build grub and get missing bootloader files bootia32.efi
git clone git://git.savannah.gnu.org/grub.git
cd grub
./autogen.sh
export EFI_ARCH=i386
./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""
make
cd grub-core
../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga gfxterm gettext echo boot chain eval
cp bootia32.efi ../../bootia32.efi
cd ../../
rm -r grub
##Get all file from the current archlinux install iso
#Search and replace all XXXX.XX.XX by the current release date and /dev/sdX by your usb key address. If you find a way to extract both partion from iso without dd, it should be faster than that, so tell me if you know how to do that.
dd bs=4M if="archlinux-XXXX.XX.XX-dual.iso" of=/dev/sdX
mkdir usb
mkdir newiso
# Unplug and replug your usb key and wait a little if mount doens't work :
mount /dev/sdX2 ./usb
cp -r usb/* newiso/
sync
umount usb
mount /dev/sdX1 ./usb
cp -r usb/* newiso/
sync
umount usb
rmdir usb
## Prepare new usb key content
mv bootia32.efi newiso/EFI/boot/
mkdir -p newiso/boot/grub
echo "
menuentry 'Arch Linux i686'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/i686/vmlinuz nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/i686/archiso.img
}
menuentry 'Arch Linux x86_64'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/x86_64/vmlinuz nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/x86_64/archiso.img
}" > newiso/boot/grub/grub.cfg
## Prepare the usb key partition
gdisk /dev/sdX
3 # Create blank GPT
o # Create a new empty GPT
y # Proceed
n # New partition
# Default partition number
# Default first sector
# Default last sector
EF00 # Bootable efi partition
c # change partion's name
ARCHISO
w # Write modifications on the disk
Y # Proceed
mkfs.fat -F 32 /dev/sdX1
echo mtools_skip_check=1 >> ~/.mtoolsrc
mlabel -i /dev/sdX1 -s ::ARCHISO
rm ~/.mtoolsrc
## Copy files to the usb key
mkdir usb
mount /dev/sdX1 usb
cp -r newiso/* usb/
sync
umount usb
rmdir usb
## Cleaning
cd ../
rm -r work
A better way of fixing that should be building a x86 version of the file `PreLoader` from the repo `git://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git` because this file is renamed as `bootx64.efi` during the archiso creation, and the missing file is the x86 equivalent : `bootia32.efi`. Anyway, I didn't manage to build it, so I gave up this path. Tell me if you find something better.
I cannot currently use this computer under linux for everyday, but I need a linux to work or dev. And I have to admit that the windows UI is much better for touchscreen than any linux desktop that I tried. The internal memory is only 30GB. So I let Windows 8.1 on internal memory for "tablet mode" and linux on hard drive for "netbook mode".
I didn't find any way to make the computer boot to the hard drive (or the micro usb card of 64GB), the efi-bios don't see them (the HDD is pluged in usb 3.0, but even in USB 2.0 mode it does the same).
To make it work, you have to put the boot and efi partition on the internal memory :
- Create a boot parition (100mo ext2) on the internal memory or use the windows rescue partition (300mo, ntfs, ~86%used after grub and vmlinuz installation). And during your installation process, mount it at /boot (/dev/mmcblkpX)
- Use the windows EFI parition (100mo fat32) and mount it to /boot/efi (/dev/mmcblkpY)
- Then (re-)install linux (need internet connexion, wireless or no. Dont forget to start dhcpcd)
mount /dev/sdbZ /mnt # with /dev/sdbZ your keyboard's hdd root partition where linux will be installed
mkdir /mnt/boot
mount /dev/mmcblkpX /mnt/boot
mkdir /mnt/boot/efi
mount /dev/mmcblkpY /mnt/boot/efi
pacstrap /mnt/ base grub efibootmgr
genfstab -U -p /mnt >> /mnt/etc/fstab
- and install grub on partition
arch-chroot /mnt
grub-install --target=i386-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck
- Edit /etc/grub.d/40_custom and add at the end :
if [ "${grub_platform}" == "efi" ]; then
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gptY --hint-efi=hd0,gptY --hint-baremetal=ahci0,gptY [fs_uuid]
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi
with gptY, the Y from /dev/mmcblkpY above (the efi partition)
and [hints_string] is gave by the command
grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
- Apply grub config
grub-mkconfig -o /boot/grub/grub.cfg
Now I can boot to "Windows Boot Manager" or "grub" from bios. But I choosed to have grub by default and then he ask me what I want.
To install on SD card, you can do the same, but you have first to reload the sdhci module on archiso :
modprobe -r sdhci_acpi
modprobe -r sdhci
modprobe sdhci debug_quirks=0x8000
modprobe sdhci_acpi
If one of the first two line, answere you that "the module is in use". Try to run lsmod and try to disable modules that are on the line of sdhci or sdhci_acpi module.
What works :
- host Win32, guest linux32
- host win32, guest win32
- host linux32, guest linux32
- host linux64, guest win
What doesn't work:
- host linux32, guest win32
Windows 8.1 guest : With QEMU and Virtualbox, same problem during installation (or boot when already installed) we got a
Your PC needs to restart.
Please hold down the power button.
Error Code: 0x0000000A
Parameters:
0xFFFFFFE6
0x0000001F
0x00000000
0x8192BFAB
After 3min virtualbox said that a critical error happend and tell us to watch the log. But it seem useless because the bug happend after 7 seconds and nothing show up after 7 seconds.
The SD card reader works with newer kernels, but the sdhci module needs some configuration. Create a new file:
sudo nano /etc/modprobe.d/sdhci.conf
Then add the following:
options sdhci debug_quirks=0x8000
ctrl-o then ctrl-x to save and exit, then:
sudo mkinitcpio -p linux
2D and 3D accelerations are enabled with xf86-video-intel 2.99.917 and mesa 10.4 :
$ glxinfo | grep direct :(
direct rendering: Yes
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Bay Trail x86/MMX/SSE2
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.4.0
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.4.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.4.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
OpenGL ES profile extensions:
However firefox doens't enable 3D acceleration by default, you have to force it. To check if it use it, go to about:support
And this mean that, it doesn't support it :
GPU Accelerated Windows 0/1 Basic
To force it :
- Got to about:config
- Set layers.acceleration.force-enabled
- Set layers.offmainthreadcomposition.enabled to true
And restart firefox. Now you should have
GPU Accelerated Windows 1/1 OpenGL (OMTC)
Warning : 3D acceleration can make firefox more buggy, so try to disable it if you have problems.
source : http://askubuntu.com/questions/491750/f … in-firefox
After some minutes (last time after ~40minutes) the system freeze. I don't know if it's only graphical or not. This freeze seem to happend when the cpu/gpu has a lot to do.
I've done a clean install with default kernel 4.0 in may 2015, and since that, I didn't have any freeze.
When I enable XHCI in bios, sometime, I get that
xhci_hcd 0000:00:14.0: Error while assigning device slot ID
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 32.
usb usb1-port3: couldn't allocate usb_device
The port change randomly and when it is port3, I loose the keybard and mouse and I have to make a hard reebot.
To "fix" this, I disabled XHCI (wich mean USB3) from the bios.
Still happen with kernel 4.0
With the work of sid789. I manage to make sound work on Linux 4.0.
Save this file somewhere on your computer : asound.state
state.bytrt5640 {
#### General
# Level
control.1 {
iface MIXER
name 'DAC1 Playback Volume'
value.0 175 # Left volume
value.1 175 # right volume
comment {
access 'read write'
type INTEGER
count 2
range '0 - 175'
dbmin -65625
dbmax 0
dbvalue.0 0
dbvalue.1 0
}
}
# Disable both output Right
control.51 {
iface MIXER
name 'Stereo DAC MIXR DAC R1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable both Left speaker
control.54 {
iface MIXER
name 'Stereo DAC MIXL DAC L1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Channel to listen
control.21 {
iface MIXER
name 'DAC IF1 Data Switch'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 Swap
item.2 'left copy to right'
item.3 'right copy to left'
}
}
# Enable
# Only 0 and 2 works
control.100 {
iface MIXER
name 'DAI select'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 '1:1|2:2'
item.1 '1:2|2:1'
item.2 '1:1|2:1'
item.3 '1:2|2:2'
}
}
##### Speaker #####
#Enable
control.27 {
iface MIXER
name 'Speaker Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
#Change a little the volume..
control.19 {
iface MIXER
name 'Class D SPK Ratio Control'
value 10
comment {
access 'read write'
type ENUMERATED
count 1
item.0 '1.66x'
item.1 '1.83x'
item.2 '1.94x'
item.3 '2x'
item.4 '2.11x'
item.5 '2.22x'
item.6 '2.33x'
item.7 '2.44x'
item.8 '2.55x'
item.9 '2.66x'
item.10 '2.77x'
}
}
# Enable Left speaker
control.62 {
iface MIXER
name 'Speaker L Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable right speaker
control.61 {
iface MIXER
name 'Speaker R Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable right channel on right speaker
control.67 {
iface MIXER
name 'SPOR MIX DAC R1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable right channel on left speaker
control.70 {
iface MIXER
name 'SPOL MIX DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable left channel
control.71 {
iface MIXER
name 'SPOL MIX DAC L1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
##### headphone #####
# Enable
control.24 {
iface MIXER
name 'Headphone Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
#Enable too
control.34 {
iface MIXER
name 'HPO MIX DAC1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable Left
control.98 {
iface MIXER
name 'DAC MIXL INF1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable Right
control.96 {
iface MIXER
name 'DAC MIXR INF1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable right
control.59 {
iface MIXER
name 'HP R Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Enable Left
control.60 {
iface MIXER
name 'HP L Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# Don't know what, but change something on headphone
control.58 {
iface MIXER
name 'DAC L2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF2
item.1 'Base L/R'
}
}
## Useless on output
control.2 {
iface MIXER
name 'Mono Playback Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.11 {
iface MIXER
name 'Mono DAC Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 175'
dbmin -65625
dbmax 0
dbvalue.0 -1500
dbvalue.1 -1500
}
}
control.3 {
iface MIXER
name 'Speaker Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.4 {
iface MIXER
name 'Speaker Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 -900
dbvalue.1 -900
}
}
control.5 {
iface MIXER
name 'HP Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.6 {
iface MIXER
name 'HP Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 1200
dbvalue.1 1200
}
}
control.7 {
iface MIXER
name 'OUT Playback Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.8 {
iface MIXER
name 'OUT Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.9 {
iface MIXER
name 'OUT Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 -1950
dbvalue.1 -1950
}
}
control.10 {
iface MIXER
name 'DAC2 Playback Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.12 {
iface MIXER
name 'IN1 Boost'
value 8
comment {
access 'read write'
type INTEGER
count 1
range '0 - 8'
dbmin 0
dbmax 5200
dbvalue.0 3000
}
}
control.13 {
iface MIXER
name 'IN2 Boost'
value 8
comment {
access 'read write'
type INTEGER
count 1
range '0 - 8'
dbmin 0
dbmax 5200
dbvalue.0 3500
}
}
control.14 {
iface MIXER
name 'IN Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 31'
dbmin -3450
dbmax 1200
dbvalue.0 -300
dbvalue.1 -300
}
}
control.15 {
iface MIXER
name 'ADC Capture Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.16 {
iface MIXER
name 'ADC Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -17625
dbmax 30000
dbvalue.0 28500
dbvalue.1 28500
}
}
control.17 {
iface MIXER
name 'Mono ADC Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -17625
dbmax 30000
dbvalue.0 27000
dbvalue.1 27000
}
}
control.18 {
iface MIXER
name 'ADC Boost Gain'
value.0 3
value.1 3
comment {
access 'read write'
type INTEGER
count 2
range '0 - 3'
dbmin 0
dbmax 3600
dbvalue.0 1200
dbvalue.1 1200
}
}
control.20 {
iface MIXER
name 'ADC IF1 Data Switch'
value 1
comment {
access 'read write'
type ENUMERATED
count 3
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
}
}
control.22 {
iface MIXER
name 'ADC IF2 Data Switch'
value 3
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
}
}
control.23 {
iface MIXER
name 'DAC IF2 Data Switch'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
}
}
control.25 {
iface MIXER
name 'Headset Mic Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.26 {
iface MIXER
name 'Internal Mic Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.28 {
iface MIXER
name 'Mono MIX DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.29 {
iface MIXER
name 'Mono MIX DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.30 {
iface MIXER
name 'Mono MIX OUTVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.31 {
iface MIXER
name 'Mono MIX OUTVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.32 {
iface MIXER
name 'Mono MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.33 {
iface MIXER
name 'HPO MIX DAC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.35 {
iface MIXER
name 'HPO MIX HPVOL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.36 {
iface MIXER
name 'OUT MIXR SPK MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.37 {
iface MIXER
name 'OUT MIXR BST2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.38 {
iface MIXER
name 'OUT MIXR BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.39 {
iface MIXER
name 'OUT MIXR INR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.40 {
iface MIXER
name 'OUT MIXR REC MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.41 {
iface MIXER
name 'OUT MIXR DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.42 {
iface MIXER
name 'OUT MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.43 {
iface MIXER
name 'OUT MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.44 {
iface MIXER
name 'OUT MIXL SPK MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.45 {
iface MIXER
name 'OUT MIXL BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.46 {
iface MIXER
name 'OUT MIXL INL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.47 {
iface MIXER
name 'OUT MIXL REC MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.48 {
iface MIXER
name 'OUT MIXL DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.49 {
iface MIXER
name 'OUT MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.50 {
iface MIXER
name 'OUT MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.52 {
iface MIXER
name 'Stereo DAC MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.53 {
iface MIXER
name 'Stereo DAC MIXR ANC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.55 {
iface MIXER
name 'Stereo DAC MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.56 {
iface MIXER
name 'Stereo DAC MIXL ANC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.57 {
iface MIXER
name 'DAC R2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF2
}
}
control.63 {
iface MIXER
name 'LOUT MIX DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.64 {
iface MIXER
name 'LOUT MIX DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.65 {
iface MIXER
name 'LOUT MIX OUTVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.66 {
iface MIXER
name 'LOUT MIX OUTVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.68 {
iface MIXER
name 'SPOR MIX SPKVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.69 {
iface MIXER
name 'SPOR MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.72 {
iface MIXER
name 'SPOL MIX SPKVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.73 {
iface MIXER
name 'SPOL MIX SPKVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.74 {
iface MIXER
name 'SPOL MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.75 {
iface MIXER
name 'SPK MIXR REC MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.76 {
iface MIXER
name 'SPK MIXR INR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.77 {
iface MIXER
name 'SPK MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.78 {
iface MIXER
name 'SPK MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.79 {
iface MIXER
name 'SPK MIXR OUT MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.80 {
iface MIXER
name 'SPK MIXL REC MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.81 {
iface MIXER
name 'SPK MIXL INL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.82 {
iface MIXER
name 'SPK MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.83 {
iface MIXER
name 'SPK MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.84 {
iface MIXER
name 'SPK MIXL OUT MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.85 {
iface MIXER
name 'DIG MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.86 {
iface MIXER
name 'DIG MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.87 {
iface MIXER
name 'DIG MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.88 {
iface MIXER
name 'DIG MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.89 {
iface MIXER
name 'Mono DAC MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.90 {
iface MIXER
name 'Mono DAC MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.91 {
iface MIXER
name 'Mono DAC MIXR DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.92 {
iface MIXER
name 'Mono DAC MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.93 {
iface MIXER
name 'Mono DAC MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.94 {
iface MIXER
name 'Mono DAC MIXL DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.95 {
iface MIXER
name 'DAC MIXR Stereo ADC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.97 {
iface MIXER
name 'DAC MIXL Stereo ADC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.99 {
iface MIXER
name 'SDI select'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF1
item.1 IF2
}
}
control.101 {
iface MIXER
name 'Mono ADC MIXR ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.102 {
iface MIXER
name 'Mono ADC MIXR ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.103 {
iface MIXER
name 'Mono ADC MIXL ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.104 {
iface MIXER
name 'Mono ADC MIXL ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.105 {
iface MIXER
name 'Stereo ADC MIXR ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.106 {
iface MIXER
name 'Stereo ADC MIXR ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.107 {
iface MIXER
name 'Stereo ADC MIXL ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.108 {
iface MIXER
name 'Stereo ADC MIXL ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.109 {
iface MIXER
name 'Mono ADC R2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DMIC R1'
item.1 'DMIC R2'
item.2 'Mono DAC MIXR'
}
}
control.110 {
iface MIXER
name 'Mono ADC R1 Mux'
value 'Mono DAC MIXR'
comment {
access 'read write'
type ENUMERATED
count 0
item.0 'Mono DAC MIXR'
item.1 ADCR
}
}
control.111 {
iface MIXER
name 'Mono ADC L1 Mux'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'Mono DAC MIXL'
item.1 ADCL
}
}
control.112 {
iface MIXER
name 'Mono ADC L2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DMIC L1'
item.1 'DMIC L2'
item.2 'Mono DAC MIXL'
}
}
control.114 {
iface MIXER
name 'Stereo ADC2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 DMIC1
item.1 DMIC2
item.2 'DIG MIX'
}
}
control.115 {
iface MIXER
name 'RECMIXR HPOR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.116 {
iface MIXER
name 'RECMIXR INR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.117 {
iface MIXER
name 'RECMIXR BST2 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.118 {
iface MIXER
name 'RECMIXR BST1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.119 {
iface MIXER
name 'RECMIXR OUT MIXR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.120 {
iface MIXER
name 'RECMIXL HPOL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.121 {
iface MIXER
name 'RECMIXL INL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.122 {
iface MIXER
name 'RECMIXL BST2 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.123 {
iface MIXER
name 'RECMIXL BST1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.124 {
iface MIXER
name 'RECMIXL OUT MIXL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
# WARNING
# !!WARN!! BUZZ ANS BREAK EVERYTHING UNTIL REBOOT !!!!!!!
control.113 {
iface MIXER
name 'Stereo ADC1 Mux'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DIG MIX'
item.1 ADC
}
}
}
and you can load it by doing
alsactl -f asound.state restore
To change the values, you have to edit the field "value" of a control and reload the config file with the precedent command. I tried to comment it, but I didn't test any microphone, because I didn't need it currently. We are supposed to have 2 microphones : internal and via the jack. I think it's possible, but I don't have any jack microphone, so if you need it, try to change the different settings and tell me if you find something.
I don't think any GUI, will manage to make the sound control work (even in alsamixer, it's a big mess), because there is no convention followed.
To enable the wifi, we need to copy the firmware from your EFI vars to your system:
```
cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcmfmac43340-sdio.txt
# Reboot or reload the module
modprobe -r brcmfmac && modprobe brcmfmac
```
You can also download the firmware from https://github.com/Asus-T100/firmware/r … 0-sdio.txt
Some of you have notice that the wifi antenna seems to overheat, and manage to fix it by executing this command
```
sudo iw wlan0 set txpower auto
```
Personal notes :
http://superuser.com/questions/490476/h … usb-or-dvd
Last edited by Ziqumu (2017-10-30 22:27:37)
Offline
Do you have installed alsa-utils, pulseaudio and pulseaudio-alsa? if not try it.
Last edited by kwatrecht (2014-12-19 19:25:49)
Offline
@Ziqumu
Visualization -> Virtualization
Can you post the output of the following ?
grep -E "(vmx|svm|0xc0f)" --color=always /proc/cpuinfo
I'm very hesitant on getting a Bay-Trail-T device as my experience with an Intel's ULV GPU isn't good.
With Haswell 2995U (which got the basic GT1 GPU core) I'm experiencing slowdowns of the system when using Chromium with or without another application that render with the GPU like Kodi/XBMC.
If you're a heavy Chromium user I would love to hear if you experiencing such slowdowns.
Also, if you can please run 'testdisplay' with and without an external display and share any error message from journald, I confirmed the errors I seeing when slowdown occur also appearing when running 'testdisplay' (to be precise, similar errors).
'testdisplay' can be found in intel-gpu-tools, you'll need to build it manually with the tests enabled so I recommend getting the PKGBUILD ($ yaourt -G) and editing it, also the tests are not install by default so just run the 'testdisplay' from the source folder after building it.
Offline
@kwatrecht : Yes, but gnome still show a dummy output. I think there is a fix for the T100, I will try but I'm not focused on sound currently.
@dhead : Thanks, corrected.
I added the output that you wanted and some other informations about vm. Do you have an Idee ?
I'm using firefox, I've checked "about:support" and GPU acceleration is not enabled on T200 (or I've done something bad with my gpu driver, but I think xf86-video-intel is enough, no ?). Don't know if I can test if chrome support it. I will try to build intel-gpu-tools another day.
Offline
@Ziqumu
Your cpu supports virtualization, see this , this confirm Intel's product page,you can also try running lscpu.
I might be wrong but I don't think further steps needed in order to use virtualization (enabling in bios).
I've seen 2-3 more posts here of users trying to run Arch on Bay-Trail-T devices, I would suggest creating a generic Bay-Trail-T page based on your experience as the basics are the same like: booting, running 64bit kernel with 32bit board firmware (though newer 4gb models got 64 firmware), misc patches.
Last edited by dhead (2014-12-24 11:38:22)
Offline
Virtualization is working on windows, so I know it is enabled, I just have to find the bug that make windows crash.
What do you mean by " creating a generic Bay-Trail-T" ? A new thread ? We could create a wiki page for theses devices but before create it, we need fixes.
I added the sdcard fix
Offline
@Ziqumu
Yes, I meant create a wiki page.
Maybe even have an AUR linux package with patches that aren't in upstream yet.
Offline
Could we get som elaboration on some of these patches?
I'm still without battery indication, sound and wifi.
Offline
+1 although my device is different (Acer Switch 10), since it also uses Atom BayTrail I think some patches may be useful for me too. Please give links to these patches/sources. I am interested in battery, sdcard, backlight and bluetooth. Thanks!
Offline
Actually I've found all the info in the links you have already provided, thank you.
Offline
Hi, archi iso (archlinux-2015.04.01-dual.iso) boots with bootia32.efi from https://github.com/jfwells/linux-asus-t … otia32.efi , but it only leaves me with grub command shell. How do I boot from here? Or are you using different iso? Thanks.
Offline
@Dregel, I don't have time to work on that currently, sorry. Try to follow my links on T100.
@f3flight, Good luck !
@kde35 : I think it was a problem of partition name, try again, I fixed it.
Offline
I added the sound fix
Offline
Hi! The freezes are still annoying me even with kernel 4.1. The only workaround I found is to add "nomodeset" as kernel parameter. This points to the i915 kms driver. And it fits to my observation of a flickering tty1 console. This is gone with "nomodeset".
Edit: Kernel parameter "i915.modeset=0" should work like "nomodeset". Bot both have the drawback that screen brightness is not adjustable.
Last edited by sid789 (2015-05-31 18:57:00)
Offline
I've just tested a new configuration that seem to work (one day and half without a crash). I have disable the 3D hardware acceleration :
Create the file : /etc/X11/xorg.conf.d/20-intel.conf And add it :
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "NoAccel" "True"
EndSection
I have tried the nomodeset option but it was making my X server not starting (I think it was because of a personnal configuration that I've forgot to remove).
I think if it works, your option is better because you still have the hardware acceleration, right ? It's just that you cannot have high definition boot screen?
Except I can still set the brightness with xbacklight.. so maybe not..
Edit : It seem that the intel driver only support kms, so if you disable kms (via nomodeset), it disable the intel driver.. That explain why you cannot set the brightness. Source : http://askubuntu.com/a/137482
Last edited by Ziqumu (2015-06-04 13:33:03)
Offline
Thank you for the information. I have tried to set the acceleration to uxa and to disable acceleration. Both didn't help. The system randomly freezes. I also have a flickering text console tty1. I wonder why the system shall behave differently... I havn't seen system freezes with windows and thus think I don't have a hardware fault.
Offline
I had still freeze with uxa. I still don't have any freeze with disabled acceleration. But I also have the flickering tty, but it's not a big problem as this is still usable and I don't often use it.
Maybe when you tried, it was another bug that makes you freeze (with an older version of someting).. I don't know, I will write both solution on the topic.
I've done some search on the touchpad : If you look at the device output (cat /dev/hidraw2 for me), you will see that the device don't send anything when you have two finger that touch the device (so it's not possible to use it as dualtouch). I think it's just a starting data that is send from Asus Smart Gesture under windows that start the Multi touch mode. I've start a vritual machine and I gave it the touchpad usb device (wich is also the keyboard... Usb bus 1 address 3) and I started the driver. Under windows it worked well with multitouch. I killed the virtual machine and I got back my keyboard but not the touchpad. I watch at /dev/hidraw2 and the touchpad now give information with two and more fingers (also it give immediatly data and not after a small lag like normally). After a restart it was gone as expected. I watched the usb driver with usbmon and wireshark and I tried to reproduce UsbHid exchange between computer and device but it didn't work. I still don't know why but I will continue to search.
There is 3 sub device on the usb device mouse/keyboard. 0 is the keyboard, 1 the media key (fn keys except sound) from the keyboard, and 2 the touchpad. So if someone has time to works on media keys, I don't think this is verry difficult. (It's more difficult for the sound, win and sleep button on the screeen, because I didn't find any signals from it.
I will try to work on a aur package that give our kernel with fixes this summer. (And maybe also a pre-builded version).
Last edited by Ziqumu (2015-06-04 23:15:27)
Offline
Thanks that you upgraded the state file for internal loudspeakers to stereo. Did you recognize that changing the volume does not work correctly? With two clicks on the main volume buttons the volume is nearly at its maximum, further increasing the volume makes it only partially louder. I just recognized this in a very quiet situation where I wasn't able to reduce. Do you have an idea where in the state file we have set a gain which makes the master volume useless?
Offline
There's a patch for the touchscreen of the t200 from Marc Höper: https://plus.google.com/115549990383524 … H9BLfQcy6A. Now the firefox grab and drag works. Maybe also other gestures.
Offline
I have working wifi without problems for quite a long time now. We could figure out what's wrong on your t200. I have applied the patch from http://thread.gmane.org/gmane.linux.ker … cus=132131. I didn't succeeded applying this patch automatically (with patch command) as it is based on some other source version. But it's no problem to make the changes manually in the kernel source.
The firmware could be your problem. I don't remember where I got mine from.
Offline
I currently have the default 4.0 kernel without patch, so it's normal that I don't have wifi. I didn't even tried it. I will make it in some weeks after my finals exams. Il will try all theses patches thanks !
For the sound level, you have to set the DAC1 level selector and not "speaker" or "OUT". (You can edit it on the config file or in alsamixer). My sound was working pretty well (everything manually, from output selection to sound level, but it was working). But now, I don't know what change, but the configuration constantly reset when I use VLC. So if I shut down speaker, it will come back on the next music. I don't know why.
I don't know if you have battery indicator, but if you have not, try this fixe : https://github.com/jfwells/linux-asus-t … 16-battery it worked for me on my precedent instalation.
Concerning freezes, I confirm the solution of disabling hardware acceleration, however if I switch to another tty (ctrl+alt+f2), and then come back, the interface doens't draw correctly and make X crash after some seconds.
Last edited by Ziqumu (2015-06-17 23:40:51)
Offline
Hello,
thank you for your information about sound. Now it is working fine on my ASUS T200ta.
Instead, to get wifi working, I have followed the instruction given by http://forum.frozenbox.org/viewtopic.php?t=143.
This is an italian forum, but there is a box which itemizes the necessary instructions.
Offline
Hi! The freezes are still annoying me even with kernel 4.1. The only workaround I found is to add "nomodeset" as kernel parameter. This points to the i915 kms driver. And it fits to my observation of a flickering tty1 console. This is gone with "nomodeset".
Edit: Kernel parameter "i915.modeset=0" should work like "nomodeset". Bot both have the drawback that screen brightness is not adjustable.
I still have freezes with this on kernel parameters
Offline
I currently have the default 4.0 kernel without patch, so it's normal that I don't have wifi. I didn't even tried it. I will make it in some weeks after my finals exams. Il will try all theses patches thanks !
For the sound level, you have to set the DAC1 level selector and not "speaker" or "OUT". (You can edit it on the config file or in alsamixer). My sound was working pretty well (everything manually, from output selection to sound level, but it was working). But now, I don't know what change, but the configuration constantly reset when I use VLC. So if I shut down speaker, it will come back on the next music. I don't know why.
I don't know if you have battery indicator, but if you have not, try this fixe : https://github.com/jfwells/linux-asus-t … 16-battery it worked for me on my precedent instalation.
Concerning freezes, I confirm the solution of disabling hardware acceleration, however if I switch to another tty (ctrl+alt+f2), and then come back, the interface doens't draw correctly and make X crash after some seconds.
How do you disable the hardware acceleration?
Offline
I've got a working wi-fi on 4.2.5 kernel and linux-firmware from official repo.
Instead of this command:
cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
I enter this command:
cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcmfmac43340-sdio.txt
I don't know where is the difference, but now wi-fi is working - interface is visible AND Internet finally works. Without any downloaded patches and firmware files.
UPD: After that you need to reload module:
rmmod brcmfmac
modprobe brcmfmac
or reboot.
UPD2: WARNING!!1 Wi-Fi antenna is overheats when using Linux and working Wi-Fi. And it heats a lot.
I know what I'm talking about - I've disassembled the tablet and know where the wifi antenna is located.
There is choices:
1) Don't do this Wi-Fi working.
2) "blacklist brcmfmac" to /etc/modprobe.d/brcmfmac.conf for better time (don't forget about "mkinitcpio -P").
3) Wait for good Linux kernel or Broadcom firmware update.
P.S. On linux-baytrail kernel from AUR, overheat is still stay.
Maybe I only have this overheat. Try that yourself.
Last edited by DragonX256 (2015-11-14 07:23:43)
Offline