Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Idea behind the dvb-usb-framework

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

10.2.1. Ý tưởng đằng sau dvb-usb-framework

Lưu ý

  1. This documentation is outdated. Please check at the DVB wiki at https://linuxtv.org/wiki for more updated info.

  2. deprecated: Newer DVB USB drivers should use the dvb-usb-v2 framework.

Vào tháng 3 năm 2005, tôi nhận được thiết bị Twinhan USB2.0 DVB-T mới. Họ cung cấp thông số kỹ thuật và một phần sụn.

Khá quan tâm, tôi muốn đưa trình điều khiển (tất nhiên là có một số điều kỳ quặc) vào dibusb. Sau khi đọc một số thông số kỹ thuật và thực hiện một số nghiên cứu về USB, nó nhận ra rằng dibusb-driver sau đó sẽ hoàn toàn là một mớ hỗn độn. Vì vậy tôi quyết định thực hiện điều đó một cách cách khác: Với sự trợ giúp của dvb-usb-framework.

Khung này cung cấp các hàm chung (chủ yếu là các lệnh gọi API kernel), chẳng hạn như:

  • Xử lý luồng truyền tải URB kết hợp với dvb-demux-feed-control (số lượng lớn và isoc được hỗ trợ)

  • đăng ký thiết bị cho DVB-API

  • đăng ký bộ chuyển đổi I2C nếu có

  • xử lý thiết bị đầu vào/điều khiển từ xa

  • yêu cầu và tải chương trình cơ sở (hiện chỉ dành cho Cypress USB bộ điều khiển)

  • các chức năng/phương thức khác có thể được chia sẻ bởi một số trình điều khiển (chẳng hạn như chức năng cho các lệnh điều khiển hàng loạt)

  • TODO: một khối I2C. Nó tạo ra các khối truy cập đăng ký dành riêng cho thiết bị tùy thuộc vào độ dài của thanh ghi và số lượng giá trị có thể được đa văn bản và đa đọc.

Mã nguồn của các thiết bị DVB USB cụ thể chỉ thực hiện giao tiếp với thiết bị thông qua xe buýt. Kết nối giữa chức năng DVB-API được thực hiện thông qua các lệnh gọi lại, được gán trong mô tả thiết bị tĩnh (struct dvb_usb_device) mỗi trình điều khiển thiết bị phải có.

Để biết ví dụ, hãy xem driver/media/usb/dvb-usb/vp7045*.

Mục tiêu là di chuyển tất cả các thiết bị USB (dibusb, cinergyT2, có thể là ttusb; flexcop-usb đã được hưởng lợi từ thiết bị flexcop chung) để sử dụng dvb-usb-lib.

TODO: bật và tắt động bộ lọc pid liên quan đến số lượng nguồn cấp dữ liệu được yêu cầu.

10.2.1.1. Thiết bị được hỗ trợ

Xem LinuxTV DVB Wiki tại ZZ0000ZZ để biết danh sách đầy đủ các thẻ/trình điều khiển/chương trình cơ sở: ZZ0001ZZ

  1. Lịch sử & Tin tức:

30-06-2005

  • thêm hỗ trợ cho WideView WT-220U (Cảm ơn Steve Chang)

30-05-2005

  • đã thêm hỗ trợ đẳng thời cơ bản cho dvb-usb-framework - thêm hỗ trợ cho thiết kế tham chiếu Conexant Hybrid và Tinh vân

    DigiTV USB

17-04-2005

  • tất cả các thiết bị dibusb được chuyển để sử dụng dvb-usb-framework

2005-04-02

  • kích hoạt lại và cải thiện mã điều khiển từ xa.

31-03-2005

  • đã chuyển thiết bị Yakumo/Hama/Typhoon DVB-T USB2.0 sang dvb-usb.

30-03-2005

  • cam kết đầu tiên của mô-đun dvb-usb dựa trên nguồn dibusb.

    Thiết bị đầu tiên là trình điều khiển mới cho TwinhanDTV Alpha / MagicBox II USB2.0 chỉ dành cho thiết bị DVB-T.

    • (chuyển từ dvb-dibusb sang dvb-usb)

28-03-2005

  • thêm hỗ trợ cho thiết bị AVerMedia AverTV DVB-T USB2.0

    (Cảm ơn Glen Harris và Jiun-Kuei Jung, AVerMedia)

14-03-2005

  • thêm hỗ trợ cho Typhoon/Yakumo/HAMA DVB-T di động USB2.0

2005-02-11

  • thêm hỗ trợ cho KWorld/ADSTech Instant DVB-T USB2.0.

    Cảm ơn Joachim von Caron rất nhiều

2005-02-02
  • thêm hỗ trợ cho Hauppauge Win-TV Nova-T USB2

31-01-2005
  • không còn phát trực tuyến bị méo đối với các thiết bị USB1.1

13-01-2005

  • đã chuyển pid_filter_table được phản chiếu trở lại dvb-dibusb

    phiên bản gần như hoạt động đầu tiên cho HanfTek UMT-010 phát hiện ra rằng Yakumo/HAMA/Typhoon là tiền thân của HanfTek UMT-010

2005-01-10

  • tái cấu trúc đã hoàn tất, bây giờ mọi thứ rất thú vị

  • các vấn đề về bộ điều chỉnh đối với một số thiết bị kỳ lạ (thiết bị Artec T1 AN2235 đôi khi có một

    Bộ điều chỉnh Panasonic được lắp ráp). Tunerprobing được triển khai. Cảm ơn Gunnar Wittich rất nhiều.

29-12-2004

  • sau nhiều ngày vật lộn với lỗi không trả lại URB nào được sửa.

26-12-2004

  • tái cấu trúc trình điều khiển dibusb, chia thành các tệp riêng biệt - kích hoạt thăm dò i2c

06-12-2004

  • khả năng thăm dò địa chỉ i2c demo - ID usb mới (Compro, Artec)

23-11-2004

  • các thay đổi được hợp nhất từ DiB3000MC_ver2.1 - sửa lại phần gỡ lỗi - khả năng cung cấp TS hoàn chỉnh cho USB2.0

21-11-2004

  • phiên bản hoạt động đầu tiên của trình điều khiển lối vào dib3000mc/p.

2004-11-12

  • bổ sung thêm các phím điều khiển từ xa. Cảm ơn Uwe Hanke.

07-11-2004

  • thêm hỗ trợ điều khiển từ xa. Cảm ơn David Matthews.

05-11-2004

  • thêm hỗ trợ cho các thiết bị mới (Grandtec/Avermedia/Artec) - đã hợp nhất các thay đổi của tôi (đối với dib3000mb/dibusb) với FE_REFACTORING, vì nó đã trở thành HEAD - có vẻ như đã chuyển điều khiển chuyển (bộ lọc pid, điều khiển fifo) từ trình điều khiển usb sang giao diện người dùng

    giải quyết tốt hơn ở đó (đã thêm xfer_ops-struct)

    • đã tạo một tệp chung cho giao diện người dùng (mc/p/mb)

28-09-2004

  • thêm hỗ trợ cho thiết bị mới (Không xác định, ID nhà cung cấp là Hyper-Paltek)

20-09-2004

  • đã thêm hỗ trợ cho thiết bị mới (Compro DVB-U2000), cảm ơn

    tới Amaury Demol để báo cáo

    • đã thay đổi phương thức truyền USB TS (một số urbs, dừng truyền trước khi thiết lập một pid mới)

13-09-2004

  • đã thêm hỗ trợ cho thiết bị mới (Artec T1 USB TVBOX), cảm ơn

    tới Christian Motschke để báo cáo

2004-09-05

  • phát hành thiết bị dibusb và trình điều khiển dib3000mb-frontend

    (tin cũ cho vp7041.c)

15-07-2004

  • tình cờ phát hiện ra rằng thiết bị có TUA6010XS cho PLL

2004-07-12

  • đã tìm ra rằng người lái xe cũng nên làm việc với

    CTS Portable (Hệ thống truyền hình Trung Quốc)

08-07-2004

  • đã giải quyết được vấn đề về firmware-extraction-2.422, trình điều khiển hiện đang hoạt động

    đúng với firmware được trích xuất từ 2.422

    • #if cho 2.6.4 (dvb), vấn đề biên dịch

    • đã thay đổi cách xử lý phần sụn, xem vp7041.txt giây 1.1

2004-07-02

  • một số sửa đổi bộ điều chỉnh, v0.1, dọn dẹp, công khai lần đầu

28-06-2004

  • hiện đang sử dụng dvb_dmx_swfilter_packets, mọi thứ đều chạy tốt

27-06-2004

  • có thể xem và chuyển kênh (pre-alpha) - chưa lọc phần nào

2004-06-06

  • TS đầu tiên đã nhận được, nhưng kernel rất tiếc:/

14-05-2004

  • trình tải firmware đang hoạt động

2004-05-11

  • bắt đầu viết trình điều khiển

10.2.1.2. Làm thế nào để sử dụng?

10.2.1.2.1. Phần sụn

Hầu hết trình điều khiển USB cần tải chương trình cơ sở về thiết bị trước khi bắt đầu đang làm việc.

Hãy xem trang Wikipage về trình điều khiển DVB-USB để tìm hiểu phần sụn nào bạn cần cho thiết bị của mình:

ZZ0000ZZ

10.2.1.2.2. Biên dịch

Vì trình điều khiển nằm trong nhân linux nên việc kích hoạt trình điều khiển trong môi trường cấu hình yêu thích của bạn là đủ. tôi khuyên bạn nên để biên dịch trình điều khiển dưới dạng mô-đun. Hotplug thực hiện phần còn lại.

Nếu bạn sử dụng dvb-kernel, hãy nhập thư mục build-2.6 chạy ‘make’ và ‘insmod.sh tải’ sau đó.

10.2.1.2.3. Đang tải trình điều khiển

Hotplug có thể tải trình điều khiển khi cần thiết (vì bạn đã cắm trong thiết bị).

Nếu bạn muốn bật đầu ra gỡ lỗi, bạn phải tải trình điều khiển theo cách thủ công và từ bên trong kho cvs dvb-kernel.

trước tiên hãy xem mức độ gỡ lỗi hiện có:

# modinfo dvb-usb
# modinfo dvb-usb-vp7045

etc.
modprobe dvb-usb debug=<level>
modprobe dvb-usb-vp7045 debug=<level>
etc.

nên thực hiện thủ thuật này.

Khi trình điều khiển được tải thành công, tập tin phần sụn đã ở trong đúng nơi và thiết bị được kết nối, “Power”-LED phải là đã bật.

Tại thời điểm này, bạn sẽ có thể khởi động một ứng dụng có khả năng dvb. tôi đang sử dụng (t|s)zap, mplayer và dvbscan để kiểm tra những điều cơ bản. VDR-xine cung cấp kịch bản thử nghiệm dài hạn.

10.2.1.3. Các vấn đề và lỗi đã biết

  • Không tháo thiết bị USB khi đang chạy ứng dụng DVB, hệ thống của bạn rất có thể sẽ phát điên hoặc chết.

10.2.1.3.1. Thêm hỗ trợ cho thiết bị

TODO

10.2.1.3.2. USB1.1 Giới hạn băng thông

Rất nhiều thiết bị hiện được hỗ trợ là USB1.1 và do đó chúng có băng thông tối đa khoảng 5-6 MBit/s khi được kết nối với trung tâm USB2.0. Điều này là không đủ để nhận được luồng truyền tải hoàn chỉnh của một Kênh DVB-T (khoảng 16 MBit/s). Thông thường đây không phải là một vấn đề, nếu bạn chỉ muốn xem TV (điều này không áp dụng cho HDTV), nhưng đang xem một kênh trong khi đang ghi một kênh khác trên cùng một kênh tần số đơn giản là không hoạt động tốt. Điều này áp dụng cho tất cả USB1.1 Thiết bị DVB-T, không chỉ thiết bị dvb-usb)

Lỗi TS bị biến dạng do sử dụng thiết bị nhiều đã không còn nữa chắc chắn. Tất cả các thiết bị dvb-usb tôi đang sử dụng (Twinhan, Kworld, DiBcom) đều bây giờ đang hoạt động rất quyến rũ với VDR. Đôi khi tôi thậm chí còn có thể ghi lại một kênh và xem cái khác.

10.2.1.3.3. Bình luận

Các bản vá, nhận xét và đề xuất đều rất được hoan nghênh.

10.2.1.4. 3. Lời cảm ơn

Amaury Demol (Amaury.Demol@parrot.com) và Francois Kanounnikoff từ DiBcom cho

cung cấp thông số kỹ thuật, mã và trợ giúp, trên đó dvb-dibusb, dib3000mb và dib3000mc đều dựa trên.

David Matthews vì đã xác định loại thiết bị mới (Artec T1 với AN2235)

và để mở rộng dibusb bằng cách xử lý sự kiện điều khiển từ xa. Cảm ơn.

Alex Woods vì đã thường xuyên giải đáp thắc mắc về usb và dvb

công cụ, một lời cảm ơn lớn.

Bernd Wagner đã giúp đỡ trong việc báo cáo và thảo luận về các lỗi lớn.

Gunnar Wittich và Joachim von Caron vì sự tin tưởng của họ trong việc cung cấp

root-shell trên máy của họ để triển khai hỗ trợ cho các thiết bị mới.

Allan Third và Michael Hutchinson vì sự giúp đỡ của họ trong việc viết Tinh vân

trình điều khiển chữ số.

Glen Harris vì đã nêu lên rằng có một thiết bị dibusb mới và Jiun-Kuei

Jung từ AVerMedia, người đã vui lòng cung cấp phần sụn đặc biệt để nhận thiết bị thiết lập và chạy trên Linux.

Jennifer Chen, Jeff và Jack từ Twinhan đã nhiệt tình hỗ trợ

viết trình điều khiển vp7045.

Steve Chang từ WideView vì đã cung cấp thông tin cho các thiết bị mới và

tập tin phần sụn.

Michael Paxton đã gửi sơ đồ bàn phím điều khiển từ xa.

Một số người trong danh sách gửi thư linux-dvb đã khuyến khích tôi.

Peter Schildmann >peter.schildmann-nospam-at-web.de< vì

trình tải chương trình cơ sở ở cấp độ người dùng, giúp tiết kiệm rất nhiều thời gian (khi viết trình điều khiển vp7041)

Ulf Hermenau đã giúp tôi học tiếng Trung phồn thể.

André Smoktun và Christian Frömmel đã hỗ trợ tôi

phần cứng và lắng nghe vấn đề của tôi rất kiên nhẫn.