2012-05-23 4 views
0

/dev/시뮬레이터 파일에 쓰려고합니다.장치를 열 수 없습니다.

  • # mknod /dev/simulator c 60 0
  • # chmod 666 /dev/simulator
  • # ls -l /dev/simulator
  • crw-rw-rw- 1 root root 60, 0 2012-05-22 19:22 /dev/simulator

내가 뭔가를이 장치를 열고 쓰기 위해 노력하고 있어요,하지만 오류가 점점 : 내가 사용하여이 장치를 생성 한 상태에서 나에 의해 정의된다

application: Simulator opening failed

을하지만, 왜 나는 장치에 들어갈 수 없습니까?

/* 
* Some Other Code * 
*/ 

static int simDev; 
simDev = open("/dev/simulator", O_RDWR); 
if(simDev<0) { 
printf("application: Simulator opening failed.\n"); 
exit (1); 
} 
else 
printf("Device opened successfully."); 

signal(SIGIO, signal_handler); 
pid_t pid; 
pid = getpid(); 
write(simDev, &pid, 4); 

/* 
* Some Other Code * 
*/ 

close(simDev); 

이 사람이 내 실수를 해결 도와주세요 수 : 여기 내 코드?

답변

2

해당 장치의 다른 쪽 끝을 정의하는 커널 모듈이 없습니다.

+0

커널 모듈 또한 잘 작성되어 컴파일됩니다. – Raheel

+0

구조체 file_operations sim_fops = { 쓰기 : sim_write, 릴리스 : sim_release, open : sim_open, }}; int sim_open (구조체 inode * inode, 구조체 파일 * filp) { /* sucess */ return 0; } int sim_release (구조체 inode * inode, 구조체 파일 * filp) { /* sucess */ return 0; } ssize_t sim_write (구조 파일 * filp, char * buf, size_t 수, loff_t * f_pos) { int * id; pid = copy_from_user (& id, buf, sizeof (id)); if (pid <0) printk ("사용자 pid % d 액세스에 실패했습니다.", pid); else printk ("사용자의 복사 한 ID : % d", pid); 반송 률; } – Raheel

+0

cat/dev/simulator ----를 통해 장치를 확인하는 데 사용하는 경우 cat :/dev/simulator : 해당 장치 또는 주소가 없음 – Raheel