2011-12-13 18 views
12

Có ai biết RIL (/ phần cứng/tham chiếu/tham chiếu-ril /) xác định nội dung nào được gắn trong/dev/khi bắt đầu phát sóng baseband không?Lớp giao diện vô tuyến Android (RIL) và/dev/

Trong điện thoại cũ và trong tài liệu khác, điện thoại GSM sử dụng/dev/smd0. Không phải tất cả điện thoại đều sử dụng/dev/smd0. Tôi đang cố gắng để xác định một cách để tìm hiểu những gì được gắn kết bất kể loại đài phát thanh và nhà cung cấp.

Nếu ai đó có thể xác định cụ thể vị trí trong/phần cứng/tham chiếu/tham chiếu-ril/I có thể xem vị trí này được đặt ở đâu và nó sẽ lấy thông tin từ khi khởi tạo, điều đó sẽ hoàn hảo.

Trả lời

7

RIL nằm trong Khung ứng dụng của bạn.

nếu bạn muốn xem RIL và thực hiện chức năng bằng cách sử dụng dấu nhắc lệnh nó được thực hiện. Có dưới lệnh:

void (*RIL_RequestFunc) (int request, void *data, size_t datalen, RIL_Token t); 

Tôi thấy điều này từ đây:

bạn nghiêm túc về vấn đề này xin vui lòng đi qua liên kết: RIL Study LInk

Nếu bạn muốn biết về ví dụ: GIT HUB

0

Nó thực sự phụ thuộc vào giao diện bạn đang sử dụng để kết nối. Bạn có thể sử dụng giao diện USB, UART hoặc SPI để kết nối lớp trên với modem. Tham số được truyền trong hàm RIL_Init xác định thiết bị bạn đang cố gắng kết nối. Nếu bạn muốn biết cụ thể nơi mà việc này được thực hiện, vui lòng xem hàm RIL_Init trong tham chiếu-ril.c.

const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **argv) 

{

int ret; 

int fd = -1; 
int opt; 
pthread_attr_t attr; 

s_rilenv = env; 

while (-1 != (opt = getopt(argc, argv, "p:d:s:"))) { 
    switch (opt) { 
     case 'p': 
      s_port = atoi(optarg); 
      if (s_port == 0) { 
       usage(argv[0]); 
       return NULL; 
      } 
      RLOGI("Opening loopback port %d\n", s_port); 
     break; 

     case 'd': 
      s_device_path = optarg; 
      RLOGI("Opening tty device %s\n", s_device_path); 
     break; 

     case 's': 
      s_device_path = optarg; 
      s_device_socket = 1; 
      RLOGI("Opening socket %s\n", s_device_path); 
     break; 

     default: 
      usage(argv[0]); 
      return NULL; 
    } 
} 

if (s_port < 0 && s_device_path == NULL) { 
    usage(argv[0]); 
    return NULL; 
} 

sMdmInfo = calloc(1, sizeof(ModemInfo)); 
if (!sMdmInfo) { 
    RLOGE("Unable to alloc memory for ModemInfo"); 
    return NULL; 
} 
pthread_attr_init (&attr); 
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); 
ret = pthread_create(&s_tid_mainloop, &attr, mainLoop, NULL); 

return &s_callbacks; 

}

Tôi hy vọng điều này là rõ ràng bây giờ.

Các vấn đề liên quan