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