[Grml] Re: Normal user not permitted for pci scan
T
mlist4suntong at yahoo.com
Sun Oct 8 16:42:47 CEST 2006
On Sun, 08 Oct 2006 01:56:26 +0200, Michael Prokop wrote:
>> when I tried to use the xvidix driver for mplayer, I get
>> "Error occurred during pci scan: Operation not permitted" error for
>> normal user, but root is ok....
>
> Hm, you are not member of the 'video' group.
> Try adding yourself to the video-group.
>
> Assuming that this does *not* fix your problem:
That's very considerate of you. thanks a lot.
No, adding myself to the 'video' group doesn't help.
$ id
uid=...(tong) gid=44(video) groups=4(adm),5(tty),6(disk),8(mail),9(news),10(uucp),20(dialout),21(fax),22(voice),24(cdrom),25(floppy),26(tape),27(sudo),29(audio),30(dip),33(www-data),44(video),60(games)...
And here is the compiled info to your questions:
Yes, using multiple -v produced more debug info, but no, still not enough
for our situation:
CommandLine: '-v' '-v' '-v' '-v' '-dr' '-vo' 'xvidix' ...
[...]
No vidix driver name provided, probing available ones (-v option for details)!
vosub_vidix: vidix_preinit((null)) was called
vidixlib: PROBING: /usr/lib/mplayer/vidix/mga_vid.so
[mga] probe
[mga] Error occurred during pci scan: Operation not permitted
vidixlib: PROBING: /usr/lib/mplayer/vidix/mach64_vid.so
[mach64] Error occurred during pci scan: Operation not permitted
vidixlib: PROBING: /usr/lib/mplayer/vidix/rage128_vid.so
[rage128] Error occurred during pci scan: Operation not permitted
[...]
Using 'strace -f -eopen -o /tmp/mplayer mplayer -dr -vo xvidix ...' wouldn't
reveal much more than that:
[...]
10538 open("test.mpg", O_RDONLY|O_LARGEFILE) = 3
10538 open("./", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
10538 open("/home/tong/.mplayer/sub/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
10538 open("/home/tong/.Xauthority", O_RDONLY) = 5
10538 open("/usr/lib/mplayer/vidix/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
10538 open("/usr/lib/mplayer/vidix/mga_vid.so", O_RDONLY) = 6
10538 open("/etc/ld.so.cache", O_RDONLY) = 6
10538 open("/usr/lib/libdha.so.1.0", O_RDONLY) = 6
10538 open("/dev/dhahelper", O_RDWR|O_LARGEFILE) = -1 ENOENT (No such file or directory)
10538 open("/usr/lib/mplayer/vidix/mach64_vid.so", O_RDONLY) = 6
10538 open("/etc/ld.so.cache", O_RDONLY) = 6
[...]
Using 'strace -f -o /tmp/mplayer mplayer -dr -vo xvidix ...' didn't
seem to have told me much more than that either, until I compare the
result with what was logged while playing in root. Then I found:
[...]
10541 open("/usr/lib/mplayer/vidix/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
10541 fstat64(5, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
10541 fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
10541 getdents64(5, /* 13 entries */, 4096) = 464
10541 futex(0xb77a9070, FUTEX_WAKE, 2147483647) = 0
10541 open("/usr/lib/mplayer/vidix/mga_vid.so", O_RDONLY) = 6
^^^^^^^^^^
10541 read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\7\0"..., 512) = 512
10541 fstat64(6, {st_mode=S_IFREG|0644, st_size=10500, ...}) = 0
10541 mmap2(NULL, 13836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0xb5fcb000
10541 mmap2(0xb5fce000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x2) = 0xb5fce000
10541 close(6) = 0
10541 open("/etc/ld.so.cache", O_RDONLY) = 6
^^^^^^^^^^^
10541 fstat64(6, {st_mode=S_IFREG|0644, st_size=67617, ...}) = 0
10541 mmap2(NULL, 67617, PROT_READ, MAP_PRIVATE, 6, 0) = 0xb5fba000
10541 close(6) = 0
10541 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
10541 open("/usr/lib/libdha.so.1.0", O_RDONLY) = 6
^^^^^^^^^^^
10541 read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\324"..., 512) = 512
10541 fstat64(6, {st_mode=S_IFREG|0644, st_size=224000, ...}) = 0
10541 mmap2(NULL, 222872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0xb5f83000
10541 mmap2(0xb5fad000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x2a) = 0xb5fad000
10541 close(6) = 0
10541 munmap(0xb5fba000, 67617) = 0
10541 open("/dev/dhahelper", O_RDWR|O_LARGEFILE) = -1 ENOENT (No such file or directory)
^^^^^^^^^^^
10541 iopl(0x3) = -1 EPERM (Operation not permitted)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There !!!
10541 write(1, "[mga] Error occurred during pci "..., 62) = 62
10541 munmap(0xb5fcb000, 13836) = 0
10541 munmap(0xb5f83000, 222872) = 0
10541 open("/usr/lib/mplayer/vidix/mach64_vid.so", O_RDONLY) = 6
[...]
10541 open("/dev/dhahelper", O_RDWR|O_LARGEFILE) = -1 ENOENT (No such file or directory)
10541 iopl(0x3) = -1 EPERM (Operation not permitted)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There !!!
10541 write(1, "[radeon] Error occurred during p"..., 65) = 65
10541 munmap(0xb7fb2000, 27900) = 0
10541 munmap(0xb5f87000, 222872) = 0
[...]
Compare with what root get:
[...]
10751 iopl(0x3) = 0
10751 iopl(0) = 0
10751 write(1, "[radeon] Found chip: RV280 [Rade"..., 44) = 44
10751 uname({sys="Linux", node="cxmr.dyndns.org", ...}) = 0
10751 socket(PF_FILE, SOCK_STREAM, 0) = 6
[...]
So, what's about the "iopl(0x3)"?
thanks
More information about the Grml
mailing list