Android シェルでキャラクター デバイスに書き込もうとしています。しかし、mksh は、すべての操作に対して「不明なエラー 517」で応答します。問題を追跡するためにstraceを使用しようとしましたが、役に立ちません。これは、AOS 4.4 の全範囲のデバイス ノードでも発生しますが、4.2 では発生しません。
これが私がすることです:
# chmod 666 /dev/smd0
Unable to open /dev/smd0: Unknown error 517
# cat /dev/smd0
tmp-mksh: cat: /dev/smd0: Unknown error 517
デバイスはそこにあり、作成 (mknod) と削除の両方ができるので、私が見る限り許可の問題ではありません。
# ls /dev/smd0
crw-rw---- 1 1000 1000 222, 0 Feb 13 2014 /dev/smd0
私がstraceで取得するのは次のとおりです。
ioctl(10</dev/tty>, SNDCTL_TMR_STOP or TCSETSW, {c_iflags=0x500, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
ioctl(10</dev/tty>, TIOCSPGRP, [23069]) = 0
[pid 23069] open("/dev/smd0", O_RDONLY|O_LARGEFILE) = -1 EPROBE_DEFER (Unknown error 517)
[pid 23069] open("/dev/smd0", O_WRONLY|O_LARGEFILE) = -1 EPROBE_DEFER (Unknown error 517)
[pid 23069] write(2</dev/pts/5>, "Unable to open /dev/smd0: Unknown error 517\n", 44) = 44
shf.cファイルのmkshソースを調べても、洞察は得られません。
EPROBE_DEFER
Linuxカーネルソースのファイルにもタグが見つかりました: ../include/linux/errno.h:
#define EPROBE_DEFER 517 /* Driver requests probe retry */
この問題を引き起こす可能性のあるアイデアはありますか?