Thứ Hai, 17 tháng 11, 2008

Sử dụng modem Conexant trên Ubuntu 8.10

Nhiều modem của laptop không nối trực tiếp với bus PCI hay bus USB mà nối với card sound. Chúng là các softmodem, hay còn gọi là winmodem và hầu hết không hoạt động trên Linux.

Modem laptop Acer Aspire 4710 của tôi sử dụng chipset Conexant nối với card sound Intel High Definition Audio, rất may mắn vì nó được hỗ trợ trên Linux bởi driver linuxant, nhưng cũng không may mắn vì driver này không free (phải bỏ tiền để được hỗ trợ đầy đủ, nếu không chỉ kết nối được ở tốc độ tối đa 14,4 kbps không fax).

Đã có nhiều cách để loại bỏ hạn chế này như keygen, hexedit, nhưng tôi thấy chúng không hiệu quả. Tập tin nhị phân cần hexedit thay đổi từ phiên bản kernel này đến phiên bản kernel khác trong khi license key của keygen không còn áp dụng được nữa (mỗi modem khác nhau đòi hỏi licence key khác nhau).

Dell có cung cấp một bản linuxant OEM cho Ubuntu 8.04, nhưng không sử dụng được trên Ubuntu 8.10 (do cấu trúc kernel đã thay đổi từ 2.6.24 lên 2.6.27).

Do đó, tôi cần phải tìm một giải pháp khác. Và tôi đã phát hiện ra cách sau, nó cho phép bạn sử dụng driver linuxant phiên bản mới nhất trên Ubuntu 8.10 với hỗ trợ đầy đủ mà không phải bỏ tiền.

Bước 1: Cài đặt các công cụ cần thiết để biên dịch module kernel (gcc, make, kernel headers...):

sudo apt-get install build-essential

Bước 2: Download bản linuxant OEM của Dell và giải nén:

http://linux.dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09oem.tar.gz

tar xzf hsfmodem-7.68.00.09oem.tar.gz

Đối với x64, download:

http://linux.dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09x86_64oem.tar.gz
tar xzf hsfmodem-7.68.00.09x86_64oem.tar.gz

Bước 3: Download phiên bản deb mới nhất của hsfmodem từ website linuxant

http://www.linuxant.com/drivers/hsf/full/downloads.php

Chú ý: có hai kiểu deb, một là phiên bản deb đã biên dịch sẵn module cho một kernel cụ thể của một bản phân phối, hai là phiên bản deb chưa biên dịch module, bạn chọn kiểu thứ hai, ví dụ (nhớ giải nén gói zip):

http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.68.00.14full/hsfmodem_7.68.00.14full_i386.deb.zip

Nếu bạn đang sử dụng Ubuntu 64 bit, download gói nguồn và giải nén, ví dụ:

http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.68.00.14x86_64full/hsfmodem-7.68.00.14x86_64full.tar.gz

tar xzf hsfmodem-7.68.00.14x86_64full.tar.gz

Bạn cũng có thể sử dụng gói nguồn cho x86, nhưng mỗi lần cập nhật kernel, bạn phải tự biên dịch lại driver hsfmodem.

Bước 4:

Dành cho x86:

Tắt tất cả các chương trình liên quan đến âm thanh và cài đặt gói deb:

sudo dpkg -i hsfmodem_7.68.00.14full_i386.deb

Trong quá trình cài đặt, điều khiển âm lượng GNOME sẽ bị lỗi, hãy chọn Reload. Tạm thời bạn sẽ không có âm thanh. Bạn sẽ nhìn thấy thông tin giống như thế này trong quá trình cài đặt:

Config for modem unit 0: /dev/ttySHSF0

Device instance: 0-HDA-14f12c06:xxxxxxxx-x

HW revision : SSD=33 LSD=0x22

HW profile name: hsfhda

Registration ID: xxxx-xxxx-xxxx

License owner : unknown

License key : FREE

License status : FREE (max 14.4kbps data only)

Current region : VIETNAM (T.35 code: 00BC)

Bây giờ hãy copy tập tin hsfmodem-7.68.00.09oem/modules/imported/hsfengine-i386.O mà bạn có ở bước 2 đè lên /usr/lib/hsfmodem/modules/imported/hsfengine-i386.O

sudo cp hsfmodem-7.68.00.09oem/modules/imported/hsfengine-i386.O /usr/lib/hsfmodem/modules/imported/

và chạy sudo hsfconfig, lần này bạn sẽ nhìn thấy:

Config for modem unit 0: /dev/ttySHSF0

Device instance: 0-HDA-14f12c06:xxxxxxxx-x

HW revision : SSD=33 LSD=0x22

HW profile name: hsfhda

Current region : VIETNAM (T.35 code: 00BC)

Dành cho x64 (và cả x86 nếu bạn đã chọn download và cài đặt từ gói nguồn):

Tắt tất cả các chương trình liên quan đến âm thanh.

Copy tập tin hsfmodem-7.68.00.09x86_64oem/modules/imported/hsfengine-x86_64.O mà bạn có ở bước 2 đè lên hsfmodem-7.68.00.14x86_64full/modules/imported/hsfengine-x86_64.O hoặc copy hsfmodem-7.68.00.09oem/modules/imported/hsfengine-i386.O mà bạn có ở bước 2 đè lên hsfmodem-7.68.00.14full/modules/imported/hsfengine-i386.O.

Vào trong thư mục và build:

cd hsfmodem-7.68.00.14x86_64full/ hoặc cd hsfmodem-7.68.00.14full/

sudo make install

sudo hsfconfig

Trong quá trình cài đặt, điều khiển âm lượng GNOME sẽ bị lỗi, hãy chọn Reload. Tạm thời bạn sẽ không có âm thanh. Bạn sẽ nhìn thấy thông tin giống như thế này trong quá trình cài đặt:

Config for modem unit 0: /dev/ttySHSF0

Device instance: 0-HDA-14f12c06:xxxxxxxx-x

HW revision : SSD=33 LSD=0x22

HW profile name: hsfhda

Current region : VIETNAM (T.35 code: 00BC)

Bước 5: Khởi động lại để phục hồi âm thanh. Bạn có thể kết nối Internet ở tốc độ tối đa 56 kbps với gnome-ppp hoặc kppp và gửi/nhận fax.