Lệnh setserial trong linux với các ví dụ dễ hiểu

Lệnh setserial trong Linux là một công cụ mạnh mẽ để cấu hình và hiển thị thông tin về các cổng nối tiếp. Nó cho phép bạn điều chỉnh tốc độ baud, địa chỉ IRQ và các thiết lập khác cho các cổng COM. Sử dụng setserial giúp bạn khắc phục sự cố kết nối hoặc tối ưu hóa hiệu suất của các thiết bị nối tiếp. Hãy khám phá lệnh này để quản lý cổng nối tiếp hiệu quả hơn trên hệ thống Linux của bạn.

Lệnh setserial trong linux là gì?

Lệnh command setserial in linux là một công cụ dòng lệnh mạnh mẽ, cho phép bạn cấu hình và hiển thị thông tin về các cổng nối tiếp (serial ports) trên hệ thống Linux của mình. Nó giúp bạn điều chỉnh các tham số như tốc độ baud, parity, và số bit dữ liệu cho từng cổng nối tiếp cụ thể. Sử dụng setserial, bạn có thể khắc phục các vấn đề liên quan đến giao tiếp nối tiếp hoặc tối ưu hóa hiệu suất của các thiết bị kết nối qua cổng này. Ví dụ, bạn có thể dùng nó để đặt lại cổng sau khi một ứng dụng bị lỗi hoặc để cấu hình một modem cũ. Hãy cẩn thận khi sử dụng lệnh này, vì cấu hình sai có thể gây ra sự cố cho các thiết bị nối tiếp.

Tìm hiểu Mục đích của Lệnh setserial

Trong bước này, chúng ta sẽ khám phá mục đích của lệnh setserial trong Linux.

Lệnh setserial là một công cụ mạnh mẽ dùng để cấu hình và quản lý các thiết lập cổng nối tiếp trên hệ thống Linux.

Lệnh setserial cho phép bạn:

  • Xác định cấu hình hiện tại của các cổng nối tiếp.
  • Thiết lập các tham số khác nhau cho cổng nối tiếp, ví dụ như tốc độ baud, địa chỉ I/O và IRQ.
  • Khắc phục các sự cố liên quan đến giao tiếp nối tiếp.

Để bắt đầu, hãy sử dụng lệnh setserial để lấy thông tin về các cổng nối tiếp trên hệ thống của bạn.

sudo setserial -g /dev/ttyS*

Ví dụ về đầu ra:

/dev/ttyS0 uart:16550A port:0x03f8 irq:4
/dev/ttyS1 uart:16550A port:0x02f8 irq:3

Lệnh này truy xuất cấu hình hiện tại của tất cả các cổng nối tiếp (/dev/ttyS*) trên hệ thống.

Đầu ra hiển thị loại UART, địa chỉ cổng I/O và IRQ cho mỗi cổng nối tiếp.

Giả sử bạn cần thay đổi cấu hình của một cổng nối tiếp, ví dụ như đặt tốc độ baud.

Bạn có thể sử dụng lệnh setserial để thực hiện việc này:

sudo setserial /dev/ttyS0 baud_base 115200 spd_cust

Lệnh này đặt tốc độ baud của cổng nối tiếp /dev/ttyS0 thành 115200 bps và cho phép các thiết lập tốc độ baud tùy chỉnh.

Lệnh setserial cung cấp một loạt các tùy chọn để cấu hình các khía cạnh khác nhau của cổng nối tiếp, ví dụ như:

  • spd_normal: Đặt tốc độ baud tiêu chuẩn.
  • spd_cust: Cho phép tốc độ baud tùy chỉnh.
  • spd_vhi: Đặt tốc độ baud thành 57600 bps.
  • spd_hi: Đặt tốc độ baud thành 38400 bps.
  • spd_shi: Đặt tốc độ baud thành 115200 bps.

Bạn có thể khám phá danh sách đầy đủ các tùy chọn bằng cách chạy man setserial trong terminal.

Xác định Thông tin Cổng Nối tiếp Sử dụng setserial

Trong bước này, chúng ta sẽ tìm hiểu cách dùng lệnh setserial để xác định thông tin chi tiết về các cổng nối tiếp trên hệ thống Linux.

Đầu tiên, hãy liệt kê tất cả các cổng nối tiếp hiện có trên hệ thống của bạn:

sudo setserial -g /dev/ttyS*

Ví dụ về kết quả:

/dev/ttyS0 uart:16550A port:0x03f8 irq:4
/dev/ttyS1 uart:16550A port:0x02f8 irq:3

Lệnh này cung cấp các thông tin sau cho mỗi cổng nối tiếp:

  • uart: Loại UART (Universal Asynchronous Receiver-Transmitter), cho biết phần cứng của cổng nối tiếp.
  • port: Địa chỉ cổng I/O của cổng nối tiếp đó.
  • irq: Số yêu cầu ngắt (IRQ) được gán cho cổng nối tiếp.

Để có thêm thông tin chi tiết về một cổng nối tiếp cụ thể, bạn có thể sử dụng lệnh setserial với tên cổng làm đối số.

sudo setserial /dev/ttyS0 -a

Ví dụ về kết quả:

/dev/ttyS0, Line 0:
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000, custom_divisor: 0, max_baud: 0
        port: 0x03f8, irq: 4
        flags: (0x10) UPF_SKIP_TEST
        spd_cust: 0, spd: (0x00)

Lệnh này cung cấp thêm chi tiết về cổng nối tiếp /dev/ttyS0, bao gồm tốc độ baud, độ trễ đóng, ước số, thời gian chờ đóng, ước số tùy chỉnh, tốc độ baud tối đa và các flags khác.

Hiểu rõ thông tin cổng nối tiếp là rất quan trọng khi cấu hình hoặc khắc phục sự cố giao tiếp nối tiếp trên hệ thống Linux của bạn.

Cấu hình Cài đặt Cổng Nối tiếp với setserial

Trong bước này, chúng ta sẽ tìm hiểu cách sử dụng lệnh setserial để cấu hình các cài đặt khác nhau cho cổng nối tiếp trên hệ thống Linux.

Hãy bắt đầu bằng cách xác định các cổng nối tiếp trên hệ thống của bạn:

sudo setserial -g /dev/ttyS*

Ví dụ về đầu ra:

/dev/ttyS0 uart:16550A port:0x03f8 irq:4
/dev/ttyS1 uart:16550A port:0x02f8 irq:3

Giả sử bạn muốn thay đổi tốc độ baud của cổng nối tiếp /dev/ttyS0 thành 115200 bps và bật cài đặt tốc độ baud tùy chỉnh:

sudo setserial /dev/ttyS0 baud_base 115200 spd_cust

Để xác minh các thay đổi, bạn có thể chạy lại lệnh setserial với tùy chọn -a:

sudo setserial /dev/ttyS0 -a

Ví dụ về đầu ra:

/dev/ttyS0, Line 0:
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000, custom_divisor: 0, max_baud: 0
        port: 0x03f8, irq: 4
        flags: (0x10) UPF_SKIP_TEST
        spd_cust: 1, spd: (0x00)

Đầu ra cho thấy tốc độ baud hiện được đặt thành 115200 bps và cờ spd_cust được bật, cho phép bạn sử dụng tốc độ baud tùy chỉnh.

Bạn cũng có thể sử dụng lệnh setserial để cấu hình các cài đặt cổng nối tiếp khác, chẳng hạn như:

  • spd_normal: Đặt tốc độ baud tiêu chuẩn
  • spd_vhi: Đặt tốc độ baud thành 57600 bps
  • spd_hi: Đặt tốc độ baud thành 38400 bps
  • spd_shi: Đặt tốc độ baud thành 115200 bps
  • uart: Đặt loại UART (ví dụ: uart:16550A)
  • port: Đặt địa chỉ cổng I/O
  • irq: Đặt số yêu cầu ngắt (IRQ)

Hãy nhớ tham khảo trang man setserial để có danh sách đầy đủ các tùy chọn có sẵn và mô tả của chúng.

Kết luận cho linux setserial command

Tóm lại, linux setserial command là một công cụ mạnh mẽ để quản lý cổng nối tiếp trên hệ thống Linux của bạn. Nó cho phép bạn kiểm soát các thông số quan trọng như tốc độ baud, ngắt và địa chỉ cổng. Việc cấu hình đúng cổng nối tiếp giúp các thiết bị ngoại vi giao tiếp trơn tru với máy tính. Hãy nhớ rằng, việc sử dụng linux setserial command đòi hỏi quyền quản trị viên, vì vậy hãy cẩn thận khi thực hiện các thay đổi. Hy vọng hướng dẫn này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh này. Đừng ngần ngại thử nghiệm và tìm hiểu thêm để làm chủ công cụ hữu ích này. Chúc bạn thành công trong việc cấu hình cổng nối tiếp trên Linux!

Last Updated : 17/10/2025