Thứ Bảy, 7 tháng 5, 2011

Mac OS X Snow Leopard 10.6.7 trên Acer Aspire 4710

Bước 1: Tạo iPortable Snow
Tạo USB flash / ổ đĩa cứng di động (toàn bộ hoặc một phân vùng) / ExpressCard SSD / thẻ nhớ, nói chung là phương tiện lưu trữ khởi động được chứa Mac OS 10.6.2 theo tài liệu hướng dẫn của iPortable Snow x86. Để tạo cái này, cần một máy Mac thật (mượn), iPortable Snow x86 có trên The Pirate Bay, một trong các phương tiện lưu trữ nói trên với dung lượng tối thiểu 8GB.
Bước 2: Chạy iPortable Snow
Khởi động từ USB. Tạo lại iPortable Snow x86 trên một phương tiện lưu trữ khác (nếu có) để đề phòng (khi không mượn được máy Mac nữa). Cách làm y hệt như bước 1, ngoại trừ lần này không phải trên máy Mac thật.
Wifi/Webcam/USB Bluetooth (CSR)/Firewire/chuột USB/các thiết bị lưu trữ USB: OK
Trackpad: không cuộn, không tap-to-click được. Nút cuộn giữa không hoạt động.
Audio, Ethernet: chưa hoạt động
Bàn phím: các phím cơ bản, Fn + F6, Fn + F7, tăng giảm độ sáng, Fn + F8, bánh xe điều chỉnh âm lượng (mặc dù audio có vấn đề) hoạt động.
Chạy DSDT Patcher GUI và KextUtility. Chép /dsdt.aml vào thư mục /Extra.
Máy này có thể chạy được kernel gốc (mach_kernel) thông qua GRUB2 hoặc Chameleon.
Bước 3: Nâng cấp lên phiên bản mới nhất
Logo Apple - Software Update - Chọn cài đặt. Có thể sử dụng bản update combo 10.6.7 đã download.
RẤT QUAN TRỌNG: Khi cài đặt hoàn thành, không chọn khởi động lại ngay.
Cài đặt legacy_kernel-10.7.0.pkg (tùy chọn, do máy này có thể chạy được kernel gốc)
Xóa /System/Library/Extensions/AppleIntelIntegratedFramebuffer.kext hiện có và thay thế bằng phiên bản 1.4.20, nếu không lần khởi động sau máy sẽ treo ở màn hình xám và không vào được desktop.
Chạy KextUtility.
Bây giờ có thể khởi động lại. QE/CI (tăng tốc 3D) lần này sẽ hoạt động.
Bước 4: Cài đặt driver còn thiếu
Cài VoodooHDA.kext cho audio (mic trong và line-in không hoạt động). VoodooBattery cho pin. AppleBCM5787M.kext cho card mạng (gây lỗi không tắt máy/khởi động lại được).
Cài đặt thêm các phần mềm cần thiết.
Các vấn đề khác:
Không sleep được dù đã tìm đủ mọi cách.
SpeedStep có vẻ không hoạt động.

Thứ Năm, 28 tháng 4, 2011

Tạo bản cài đặt Windows 7 trên USB

Mục đích:
Tạo USB cài đặt Windows 7 kể cả từ các bản Windows 7 đã bị sửa đổi (không chính hãng)
Yêu cầu:
- USB dung lượng tối thiểu 4GB
- Đĩa cài đặt Windows 7 hoặc tập tin ISO
- Máy tính cài đặt Windows XP/Vista/7
- Một phần mềm tạo ổ đĩa DVD ảo (ví dụ Virtual Clone Drive freeware) trong trường hợp sử dụng tập tin ISO
Cách thực hiện:
Bước 1: Format USB sử dụng định dạng NTFS
Bước 2: Chạy diskpart trong command line
Tại dấu nhắc diskpart> gõ các lệnh:
list disk
select disk # với # là số tương ứng với ổ đĩa USB
select partition 1
active
exit
Bước 3: Cài đặt bootmgr bootcode trên USB
Vẫn trong command line, giả sử Z: là đĩa cài đặt Windows (hoặc ổ đĩa ảo) và U: là ổ đĩa USB
z:
cd \boot
bootsect /nt60 u:
Bước 4: Chép các tập tin trên đĩa cài đặt Windows (hoặc ổ đĩa ảo) vào USB
xcopy z:\ u:\ /s/e
Bây giờ bạn có thể khởi động từ USB để cài đặt Windows 7

Thứ Sáu, 25 tháng 2, 2011

Root HTC Tattoo trên Linux

Bước 1: Tải về và giải nén Android SDK: http://developer.android.com/sdk/index.html
Bước 2: Bật tùy chọn USB Debugging trên điện thoại (Menu > Settings > Applications > Development > USB Debugging)
Bước 3: Nối điện thoại với máy tính bằng cáp USB.
Kiểm tra xem điện thoại đã được nhận ra chưa bằng lệnh sau trong thư mục android-sdk-linux_x86/tools:
./adb devices
Nếu kết quả hiện ra là ???????????? no permissions thì phân quyền người dùng chưa đúng. Tạo tập tin /etc/udev/rules.d/90-android.rules có nội dung sau:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
sau đó chạy lệnh: sudo udevadm control --reload-rules
Nếu kết quả hiện ra giống thế này, HTC Tattoo đã được kết nối đúng (có thể rút ra cắm lại):
List of devices attached
HT9A5LG01716 device
Bước 4: Tải gói này về và giải nén vào thư mục android-sdk-linux_x86/tools
Chạy các lệnh sau:
./adb push tatt00hack/m7 /data/local/bin/
./adb push tatt00hack/tattoo-hack.ko /data/local/bin/
./adb shell chmod 755 /data/local/bin/m7
Bước 5: Lấy tập tin su này (86944 byte), đặt trong thư mục android-sdk-linux_x86/tools và push vào HTC Tattoo:
./adb push su /data/local/bin/
./adb shell chmod 755 /data/local/bin/su
Bước 6: Chạy lệnh ./adb shell
Trong shell, chạy các lệnh:
$ cd /data/local/bin
$ while do ./m7 ; done
Shell sẽ chuyển từ $ thành #
Bước 7: Thiết lập /system thành writable
Trong shell của bước 6:
# export LD_LIBRARY_PATH=/system/lib
# export PATH=/system/bin
# insmod /data/local/bin/tattoo-hack.ko
# mount -o rw,remount /dev/block/mtdblock3 /data
# mount -o rw,remount /dev/block/mtdblock5 /system
# cat /data/local/bin/su > /system/bin/su
# chown root.root /system/bin/su
# chmod 4755 /system/bin/su
# rm /data/local/bin/su
# reboot

Chủ Nhật, 26 tháng 4, 2009

Modem Conexant bó tay license

Trước đây (trên Ubuntu 8.10), mưu kế để gian lận license vẫn hoạt động tốt cho đến tận phiên bản hsfmodem 7.80.02.02.
Mấy hôm nay, nâng cấp lên Ubuntu 9.04 và sử dụng phiên bản hsfmodem 7.80.02.04, mưu kế này không còn khả thi nữa (gây ra kernel loop do hsfengine.ko lại gọi hsfengine.ko).
Phải chăng trò gian lận này đã bị phát hiện và lỗi bảo mật license đã được sửa?

Thứ Ba, 6 tháng 1, 2009

Sử dụng điều khiển từ xa Cyp Se WitheHome trên Ubuntu (8.10)

Chạy ls -l /dev/input trước và sau khi cắm đầu thu vào máy. Sau khi cắm, sẽ có một thiết bị event và một thiết bị mouse được tạo.
So sánh kết quả và xác định thiết bị event tương ứng với đầu thu, chẳng hạn event10
Chạy udevinfo -a -p $(udevinfo -q path -n /dev/input/eventX) với X là số hiệu tương ứng với đầu thu, trong trường hợp này là event10
Trong kết quả hiển thị, xác định thông số ở dòng ATTRS{modalias} đầu tiên, chẳng hạn là input:b0003v04B4p0100e0100-e0,1,2,4,14,k71,72,73,74,75,77,7D,7E,7F,8E,8F,9E,B7,110,111,112,r0,1,am4,lsfw
Tạo hoặc cập nhật tập tin /etc/udev/rules.d/10-local.rules và thêm một dòng như sau:
KERNEL=="event*",SYSFS{modalias}=="insert_your_modalias_here",SYMLINK="input/Cyp_Se_WitheHome"
Trong trường hợp này là:
KERNEL=="event*",SYSFS{modalias}=="input:b0003v04B4p0100e0100-e0,1,2,4,14,k71,72,73,74,75,77,7D,7E,7F,8E,8F,9E,B7,110,111,112,r0,1,am4,lsfw",SYMLINK="input/Cyp_Se_WitheHome"
Tháo đầu thu ra và cắm lại, sẽ có một thiết bị /dev/input/Cyp_Se_WitheHome được tạo
Sửa tập tin /usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
Thay thế chuỗi saa7134 ir bằng Cyp Se WitheHome để hald không "tóm" thiết bị này của lirc.
Cài đặt lirc, nếu đã cài rồi thì chạy sudo dpkg-reconfigure lirc, chọn Linux Input Layer (/dev/input/eventX) cho IR receiver, None cho IR transmitter và /dev/input/Cyp_Se_WitheHome ở màn hình cuối cùng.
Sửa tập tin /etc/lircd.conf thành:
begin remote
name Cyp_Se_WitheHome
bits 32
begin codes
POWER 0x40004 0x80010074
RADIO 0x40004 0x8001001e
TV 0x40004 0x80010014
DVD 0x40004 0x80010031
MUSIC 0x40004 0x80010032
PHOTO 0x40004 0x80010017
VIDEO 0x40004 0x80010012
DVD_MENU 0x40004 0x8001002f
MUTE 0x40004 0x80010042
BACK 0x40004 0x8001000e
GUIDE 0x40004 0x8001003b
VOLUME_UP 0x40004 0x80010073
VOLUME_DOWN 0x40004 0x80010072
CHANNEL_UP 0x40004 0x80010068
CHANNEL_DOWN 0x40004 0x8001006d
ARROW_UP 0x40004 0x80010067
ARROW_DOWN 0x40004 0x8001006c
ARROW_LEFT 0x40004 0x80010069
ARROW_RIGHT 0x40004 0x8001006a
ENTER 0x40004 0x8001001c
RECORD 0x40004 0x8001001d 0x40004 0x80010013
REPEAT 0x40004 0x8001002a 0x40004 0x80010013
PLAY 0x40004 0x8001002a 0x40004 0x80010019
PAUSE 0x40004 0x8001001d 0x40004 0x80010019
STOP 0x40004 0x8001001f
REWIND 0x40004 0x8001002a 0x40004 0x80010020
FORWARD 0x40004 0x8001002a 0x40004 0x80010021
PREV_TRACK 0x40004 0x8001001d 0x40004 0x80010030
NEXT_TRACK 0x40004 0x8001001d 0x40004 0x80010021
NUMPAD_1 0x40004 0x80010002
NUMPAD_2 0x40004 0x80010003
NUMPAD_3 0x40004 0x80010004
NUMPAD_4 0x40004 0x80010005
NUMPAD_5 0x40004 0x80010006
NUMPAD_6 0x40004 0x80010007
NUMPAD_7 0x40004 0x80010008
NUMPAD_8 0x40004 0x80010009
NUMPAD_9 0x40004 0x8001000a
NUMPAD_0 0x40004 0x8001000b
end codes
end remote
Khởi động lại.
Chạy thử irw, nếu sau khi bấm các nút trên bộ điều khiển, nó hiện ra như sau thì là OK:
0000000000040004 00 POWER Cyp_Se_WitheHome
0000000000040004 00 RADIO Cyp_Se_WitheHome
0000000000040004 00 TV Cyp_Se_WitheHome
Tạo tập tin .lircrc trong thư mục ~ như thế này:
# MythTV
begin
prog = mythtv
button = BACK
config = Esc
repeat = 1
end

begin
prog = mythtv
button = MUTE
config = F9
repeat = 1
end

begin
prog = mythtv
button = VOLUME_UP
config = ]
end

begin
prog = mythtv
button = VOLUME_DOWN
config = [
end

begin
prog = mythtv
button = CHANNEL_UP
config = PgUp
end

begin
prog = mythtv
button = CHANNEL_DOWN
config = PgDown
end

begin
prog = mythtv
button = POWER
config = Esc
repeat = 1
end

begin
prog = mythtv
button = TV
config = Ctrl+T
repeat = 1
end

begin
prog = mythtv
button = DVD
config = Ctrl+D
repeat = 1
end

begin
prog = mythtv
button = MUSIC
config = Ctrl+M
repeat = 1
end

begin
prog = mythtv
button = PHOTO
config = Ctrl+O
repeat = 1
end

begin
prog = mythtv
button = VIDEO
config = Ctrl+V
repeat = 1
end

begin
prog = mythtv
button = DVD_MENU
config = M
repeat = 1
end

begin
prog = mythtv
button = GUIDE
config = Ctrl+S
repeat = 1
end

begin
prog = mythtv
button = ARROW_UP
config = Up
repeat = 1
end

begin
prog = mythtv
button = ARROW_DOWN
config = Down
repeat = 1
end

begin
prog = mythtv
button = ARROW_LEFT
config = Left
repeat = 1
end

begin
prog = mythtv
button = ARROW_RIGHT
config = Right
repeat = 1
end

begin
prog = mythtv
button = ENTER
config = Enter
repeat = 1
end

begin
prog = mythtv
button = RECORD
config = R
repeat = 1
end

begin
prog = mythtv
button = REPEAT
config = Backspace
repeat = 1
end

begin
prog = mythtv
button = STOP
config = O
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_1
config = 1
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_2
config = 2
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_3
config = 3
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_4
config = 4
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_5
config = 5
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_6
config = 6
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_7
config = 7
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_8
config = 8
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_9
config = 9
repeat = 1
end

begin
prog = mythtv
button = NUMPAD_0
config = 0
repeat = 1
end

begin
prog = mythtv
button = PREV_TRACK
config = Q
repeat = 1
end

begin
prog = mythtv
button = NEXT_TRACK
config = Z
repeat = 1
end

begin
prog = mythtv
button = PLAY
config = P
repeat = 1
end

begin
prog = mythtv
button = PAUSE
config = Ctrl+?
end

begin
prog = mythtv
button = REWIND
config = < repeat =" 1" prog =" mythtv" button =" FORWARD" config =" ">
repeat = 1
end

# mplayer
begin
prog = mplayer
button = BACK
config = quit
end

# rhythmbox
begin
prog = rhythmbox
button = PLAY
config = play
end

begin
prog = rhythmbox
button = PAUSE
config = pause
end

begin
prog = rhythmbox
button = STOP
config = stop
end

begin
prog = rhythmbox
button = RECORD
config = shuffle
end

begin
prog = rhythmbox
button = REPEAT
config = repeat
end

begin
prog = rhythmbox
button = PREV_TRACK
config = previous
end

begin
prog = rhythmbox
button = NEXT_TRACK
config = next
end

begin
prog = rhythmbox
button = REWIND
config = seek_backward
end

begin
prog = rhythmbox
button = FORWARD
config = seek_forward
end

begin
prog = rhythmbox
button = VOLUME_UP
config = volume_up
end

begin
prog = rhythmbox
button = VOLUME_DOWN
config = volume_down
end

begin
prog = rhythmbox
button = MUTE
config = mute
end
Rồi khởi động mythtv, vào mục Edit Keys và thêm vào mục Global Jumppoints (có thể thực hiện thao tác này bằng điều khiển từ xa, không cần bằng bàn phím):
Ctrl+T chạy TV playback
Ctrl+D chạy DVD
Ctrl+M chạy Music
Ctrl+O chạy MythGallery
Ctrl+V chạy MythVideo
Ctrl+S chạy Program Guide
Xóa <> từ các hành động Previous Track và Next Track trong mục Music và xóa P khỏi hành động Pause trong Music, sau đó thiết lập các phím cho Rewind/Forward/PrevTrack/NextTrack/Pause/Play/Stop...

Thứ Bảy, 3 tháng 1, 2009

Fête de la nouvelle année

Chiều 31/12/2008: bản patch driver kernel Linux của mình đã được commit.
Tối 31/12/2008 - 6h 1/1/2009. Party

Bàn phím Acer Aspire 4710 trên Ubuntu 8.10

Sau khi cài đặt Ubuntu 8.10 và cập nhật toàn bộ hệ thống (kernel 2.6.27-9-generic), các phím chức năng wireless, bluetooth, Fn + F2, Fn + F3, Fn + F5 đều đã được nhận diện tốt.
Chỉ còn 2 phím euro và dollar. Thêm 2 dòng sau vào /etc/rc.local trước dòng exit 0:
setkeycodes e033 219 # euro sign
setkeycodes e034 239 # dollar sign
và 2 dòng sau vào ~/.Xmodmap:
keycode 227 = EuroSign
keycode 247 = dollar
Nếu không muốn khởi động lại, sudo 2 lệnh setkeycodes nói trên, sau đó chạy xmodmap ~/.Xmodmap