web-dev-qa-db-ja.com

エラー:insmodとmodprobeの両方からの「操作は許可されていません」

Ubuntu 14.04にモジュールを挿入しようとしていますが、両方とも

Sudo insmod xpcie.ko

そして

Sudo modprobe xpcie

エラーを返す

could not insert xpcie.ko: Operation not permitted

Xpcie.koのコピーを/ lib/modules/uname -r/kernel/driversに配置して実行しました

depmod -a xpcie.ko

このモジュールは、ザイリンクスの XAPP1022 から来ています。元々はFedora 9用に設計されました。それがこのエラーの原因かもしれません。もしそうなら、モジュールで何を変更する必要がありますか?そうでない場合、他に何がこれを引き起こしますか?

ありがとう。

編集:

uname -r

3.10.40-gb271e8fを返します

2
enivium

モジュールがすでに取得されているメジャー番号を使用してデバイスを初期化しようとすると、insmodとmodprobeがエラーメッセージで失敗することが判明しています

operation not permitted

特にXAPP 1022の場合、ドライバーはcharデバイスを登録しようとし、それにメジャー番号240が割り当てられます。マシン上にすでにそのメジャー番号で登録された別のデバイスがあり、ドライバーがinit機能に失敗しました。

解決策は変更することです

int gDrvrMajor = 240;

int gDrvrMajor = {some major number that isn't taken}

xpcie.c内その後、変更する必要もあります

mknod /dev/xpcie c 240 1

mknod /dev/xpcie c {same other major number as above} 1

make_device内。

1
enivium