Argumen tidak valid - Pemindai saudara tidak berfungsi setelah peningkatan (driver brscan2)

31

Saya baru saja meningkatkan Ubuntu 13.10 (Saucy).

Memindai melalui MFC-420CN saya telah berfungsi di Ubuntu dan Linux Mint diinstal meskipun Olivia dan Oneric. Namun begitu saya memutakhirkan dari ini, pemindaian rusak. Saya memasang salinan cakep baru untuk memverifikasi bahwa itu bukan hanya ada hubungannya dengan upgrade.

Situs web Brother memiliki pemberitahuan bahwa semua model brscan1 tidak lagi mendukung pemindaian usb pada Ubuntu 11.10, tetapi tampaknya tidak berlaku untuk model brscan2 dan brscan3. Terlebih lagi saya menemukan beberapa postingan lain yang nampaknya mengindikasikan setidaknya model brscan4 saat ini berfungsi. Namun saya belum dapat memverifikasi pemindai menggunakan brscan2 (atau penyelam lain selain brscan4) dan ubuntu 13.10 (sebenarnya 12.10 dan lebih tinggi) saat ini berfungsi.

Untuk referensi silang / untuk membantu orang lain dengan masalah, daftar lengkap pemindai brscan2 adalah sebagai berikut:

DCP-110C DCP-115C DCP-117C DCP-120C DCP-130C DCP-135C DCP-150C DCP-153C DCP-155C DCP-310CN DCP-330CN DCP-330C DCP-340CW DCP-350C DCP-357C DCP-357C DCP- 540CN DCP-560CN DCP-7010 DCP-7020 DCP-7025 DCP-750CW DCP-770CW DCP-8060 DCP-8065DN MFC-210C MFC-215C MFC-230C MFC-235C MFC-240C MFC-260C MFC-3240C -3360C MFC-410CN MFC-420CN MFC-425CN MFC-440CN MFC-465CN MFC-5440CN MFC-5460CN MFC-5860CN MFC-5860CN MFC-620CN MFC-640CN MFC-660CN MFC-6605NW MFC-66580WFC MFC-7225N MFC-7420 MFC-7820N MFC-820CW MFC-845CW MFC-8460N MFC-8660DN MFC-8670DN MFC-885CW MFC-8860DN MFC-8870DW MFC-9420CN

Pertanyaan / masalah serupa sebelumnya (tetapi untuk perangkat keras driver brscan3):


Sejauh ini saya sudah mencoba:

  • Menginstal utilitas-waras

  • ireksi di situs web saudara mengenai pemasangan brscan2, termasuk menggunakan flag dpkg -f

  • mengedit /lib/udev/rules.d/40-libsane.rules untuk disertakan

kode:

# Brother scanners

ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
  • menyalin file dari lib ke lib64:

kode:

cd /usr/lib
ln -s ../lib64/libbrscandec2.so.1.0.0 .
ln -s ../lib64/libbrcolm2.so.1.0.1 .
ln -s ../lib64/libbrcolm2.so .
ln -s ../lib64/libbrscandec2.so.1 .
ln -s ../lib64/libbrscandec2.so .
ln -s ../lib64/libbrcolm2.so.1
cd sane
ln -s ../../lib64/sane/libsane-brother2.so.1.0.7 .
ln -s ../../lib64/sane/libsane-brother2.so.1 .
ln -s ../../lib64/sane/libsane-brother2.so .
  • menginstal ia32-libs dan mengulangi instal sane-utils
  • menghapus driver brscan2 64 bit dan menggantinya dengan 32 bit, tetapi hasil scanimage dengan pengaturan driver 32 bit untuk usb atau mode jaringan kurang menjanjikan:

kode:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
  • dari driver windows 32 bit dengan WINE eumlating Win2000 atau XP - hampir selesai pada tahun 2000.

Debugging driver 64 bit:

Dengan brscan2 terinstal, saya dapat membuka pemindaian sederhana dan menemukan pemindai; selain itu hasil scanimage menunjukkan bahwa semuanya baik-baik saja:

# scanimage -L
device `brother2:bus5;dev2' is a Brother DCP-350C USB scanner

Tetapi pemindaian (bahkan sebagai pengguna root) masih tidak berfungsi.

> sudo scanimage >image.pnm
scanimage: open of device brother2:bus2;dev4 failed: Invalid argument

xsane menghasilkan kesalahan serupa:

 Failed to start scanner: Invalid argument

sane-find-scanner menghasilkan kesalahan pipa yang ditampilkan di sini: http://pastebin.com/tTNMyD1m tetapi itu tampaknya terkait dengan fakta bahwa saudara menyediakan driver, bukan waras.

Saya cukup macet pada titik ini, bantuan apa pun akan dihargai.

virtualxtc
sumber
Baru saja menemukan tautan ini yang sepertinya mengindikasikan hasil sane-find-scanner dapat diabaikan, dan saya harus fokus pada kesalahan argumen yang tidak valid: linuxquestions.org/questions/slackware-14/…
virtualxtc
Lihat ini . tambahan Anda dapat menambahkan brother-lpr-drivers-mfc9420cndanbrother-cups-wrapper-mfc9420cn
@DuminduMahawela selain dari paket * -dev saya sudah menginstal semua "driver scanner".
virtualxtc
Saya telah mengirim email kepada saudara untuk meminta bantuan, dan merujuk pertanyaan ini jika-kalau ada pembaruan. Saudara mengakui tiket saya, tapi selain itu yang saya dapatkan hanyalah udara mati. Saya membeli pemindai-printer lain berdasarkan daftar kompatibilitas yang waras .
virtualxtc
Bagian "SOLUSI" dari halaman ini dapat membantu? bugs.launchpad.net/ubuntu/+source/xsane/+bug/478761
sabik

Jawaban:

23

Setelah saya perbarui ke 13.10 saya mendapatkan kesalahan yang sama saat memindai. ada dua masalah disini.

  1. Kesalahan Argumen tidak valid bukanlah masalah argumen, tetapi merupakan masalah akses tulis.
  2. Masalah lainnya adalah bahwa nomor bus dan dev salah dari kesalahan scanimage.

Bagaimana cara menemukan dan memperbaiki masalah?

Instal driver brscan4 dari situs saudara

sudo dpkg -i brscan4-0.4.2-1.amd64.deb

Periksa untuk melihat apakah itu berfungsi

sudo brsaneconfig4 -d

Tes untuk melihat apakah pemindai diinstal (pemindai harus dinyalakan). Dan jalankan sebagai pengguna BUKAN root

$ scanimage -L
device `brother4:bus5;dev1' is a Brother ADS-2000 USB scanner
$ scanimage --test
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

atau

$ scanimage
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

Anda dapat menggunakan skrip berikut untuk memperbarui izin untuk pemindai.

lsusb | grep -i brother | sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' | xargs -i -t sudo chmod 666 "{}"

lsusb daftar perangkat usb

grep -i brother akan menemukan perangkat saudara (asumsi yang saya buat adalah Anda hanya memiliki satu perangkat saudara terhubung ke USB pada suatu waktu)

sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' akan menemukan nomor bus & perangkat

xargs -i -t sudo chmod 666 "{}" akan menambahkan izin menulis ke pemindai

Berikut adalah informasi yang lebih terperinci tentang mengapa kami melakukan apa yang kami lakukan di atas

Untuk mencari tahu di mana pemindai saudara menggunakan bus lsusb. Ini adalah salah satu masalah dalam scanimage. Bus adalah 003 dan perangkatnya adalah 002 dan bukan bus 5, dev 1 sesuai scanimage

$ lsusb
Bus 003 Device 002: ID 04f9:60a0 Brother Industries, Ltd**  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...

Untuk memperbaiki masalah, Anda harus menggunakan jalur berdasarkan lokasi pemindai saudara dalam lsusbperintah. Dalam kasus saya itu bus 003dan device 002. Perhatikan bahwa jika Anda mencabut kabel USB ke pemindai dan menghubungkannya kembali ke perangkat, Anda akan mendapatkan nomor dan / atau bus baru. (Nomor kembali ke 2 ketika Anda me-reboot PC)

Contoh:

sudo cd /dev/bus/usb/003
sudo chmod 666 002

atau hanya:

sudo chmod 666 /dev/bus/usb/003/002

Scanimage perlu memperbaiki pesan ketika tidak dapat mengakses pemindai untuk memiliki nomor bus dan dev yang tepat dan juga memberi tahu pengguna bahwa masalahnya adalah masalah akses tulis.

Brotherperlu memperbarui kode driver sehingga pengguna global dapat menulis ke pemindai yaitu chmod 666ke lokasi driver pemindai

Menandai
sumber
Adakah yang bisa mengkonfirmasi perbaikan ini? Untungnya, saya menjatuhkan pemindai ini dari meja saya sebulan setelah saya memposting pertanyaan dan harus membeli pemindai baru (patuh SANE). Mark / Dan jawabannya masih sedikit tidak jelas karena berbagai masalah tata bahasa, tolong perbaiki mereka sehingga saya bisa merasa nyaman untuk memilih.
virtualxtc
1
Jawaban ini terlihat sangat menjanjikan sebagai hasil dari lsusbdan scanimage -Lmenunjukkan angka dev / bus yang berbeda. Saya mencoba mengubah izin pada /dev/bus/usb/...file tetapi tidak berhasil. Apakah ada cara lain untuk mendapatkan OS untuk melihat nomor bus / dev USB yang benar untuk pemindai?
David Thomas
Ini berhasil. Setelah membuat perubahan dalam jawaban dan memulai xsane, pertama kali saya mencoba memperoleh pratinjau, akan muncul kesalahan "pemindai gagal memulai". Tetapi mencoba lagi itu akan berhasil. Sekarang saya bisa memindai! :)
jja
2
Itu tidak memperbaikinya untuk saya
Natim
1
Solusi ini berhasil bagi saya dengan Lubuntu 16.04 dan Brother DCP-7030. Namun setelah reboot semua izin diatur ulang. Sepertinya diperlukan aturan udev?
Xavier13
3

Cukup tambahkan pengguna Anda ke grup lp ...

usermod -a -G lp username

Seperti ini, Anda akan memiliki izin menulis untuk pemindai Anda.

Diuji dengan:

  • 14,04 LTS 64 bit terbaru
  • Saudara DCP-J315W
  • linux-brprinter-installer-2.0.0-1 diunduh dari Brother Support Center

Izin untuk printer / pemindai di / dev / bus / usb / 001 adalah:

crw-rw-r-- 1 root lp

Untuk ini yang menambahkan nama pengguna Anda ke grup lp itu solusinya.

Bellera
sumber
Seperti yang ditunjukkan oleh '#', saya menjalankan perintah sebagai root dan masih mendapatkan kesalahan, jadi ini jelas bukan solusi untuk kesalahan di atas.
virtualxtc
1
Apakah Anda menyalin (atau menautkan dengan ln -s) perpustakaan dari / usr / lib64 ke / usr / lib seperti yang disarankan di support.brother.com/g/s/id/linux/en/… ?
Bellera
Selamat datang di AskUbuntu - perlu diketahui bahwa saya biasanya mendokumentasikan Anda -1 untuk ini: Jika Anda membaca pertanyaan saya, terutama apa yang tertulis di bagian "sejauh ini saya sudah mencoba", Anda akan tahu jawabannya adalah ' iya nih'. Di masa mendatang, harap baca seluruh pertanyaan sebelum menjawab.
virtualxtc
2

Coba program ini bernama VueScan, saya sedang mencari driver mfc-420cn dan saya berlari ke situs web ini: " http://www.hamrick.com/ " Saya belum bisa menguji ini (karena saya masih belum menemukan kabel daya ke printer lama saya yang sudah mengumpulkan debu.), tapi itu mengatakan itu akan mendukung berbagai macam printer, jadi saya pikir saya harus mempostingnya. Bagaimanapun, semoga ini membantu.

Giok
sumber
Terima kasih, tetapi untuk harga perangkat lunak itu saya dapat membeli pemindai yang sesuai SANE! Karena jawaban ini tidak diverifikasi dan hanya sedikit lebih baik daripada "beli pemindai yang lebih baik", saya akan membiarkan pertanyaan terbuka.
virtualxtc
1
Dalam pengalaman saya (dulu), VueScan sangat baik; mungkin jauh lebih unggul daripada kebanyakan driver pemindai. Keuntungannya paling jelas untuk memindai foto dan / atau untuk kontrol yang baik atas kualitas pemindaian. Saya yakin Anda dapat mengunduh dan mencobanya secara gratis. Keuntungannya adalah Anda tidak akan pernah lagi harus menderita dengan keterbatasan driver proprietary yang buruk dari pabrikan. Sayangnya Anda harus membayar pihak ketiga untuk terus menggunakan pemindai yang sudah Anda bayar. Banyak orang telah memutuskan bahwa biayanya sepadan, karena VueScan bekerja dengan baik pada pemindai lama DAN baru.
Tommy Trussell
Saya telah menghabiskan beberapa jam mencoba setiap perbaikan untuk masalah ini (yang dapat ditemukan di beberapa halaman pertama Google), dan VueScan adalah satu-satunya solusi yang telah bekerja sejauh ini. Saya tidak akan membeli pemindai Brother dengan Linux.
MRule
1

Saya mengalami masalah yang sama, dan menurut https://wiki.debianforum.de/Brother_Scanner kesalahan "Argumen Tidak Valid" dapat disebabkan jika printer terhubung ke port USB 3 (dikontrol oleh xhci_hcd). Itu mulai bekerja untuk saya segera setelah saya beralih ke port USB 2 (dikontrol oleh ehci_hcd).

Florian Echtler
sumber
Saya tidak punya port usb 3 di komputer saya mendapatkan kesalahan ini.
virtualxtc
0

Saya menggunakan Ubuntu 13.10 32bit

Saya menggunakan MFC-7820N dan setiap kali saya meningkatkan kernel saya harus menginstal ulang semua driver saudara. Yang saya miliki adalah: brmfc7840nlpr-2.0.2-1.i386, brscan2-0.2.5-1.i386, cupswrapperMFC7840N-2.0.2-1.i386

Saya kemudian mengecek bahwa aturan "ATTRS {idVendor} ==" 04f9 ", ENV {libsane_matched} =" yes "" belum dimodifikasi atau dihapus di /lib/udev/rules.d/40-libsane.rules

Setelah semua itu saya reboot.

Terakhir, saya akan memberikan saudara printer itu pengontrol host USB sendiri, seperti ukuran tambahan untuk pengujian.

Keris
sumber
brmfc7840nlpr-2.0.2-1.i386 dan upswrapperMFC7840N-2.0.2-1.i386 adalah driver printer dan tidak relevan dengan pertanyaan ini.
virtualxtc
Mungkin 64 bit vs 32 bit, namun, saya tidak pernah punya masalah dengan 64 bit sebelumnya. Kernel apa yang Anda jalankan? Adakah yang bisa memverifikasi bahwa ini berfungsi?
virtualxtc
1
Saya juga baru saja ditingkatkan ke 13.10 pada mesin 64bit. Sebelum pemindai / printer Brother DCP-135C saya berfungsi, sekarang tidak. Juga saya tidak dapat menginstal driver lama yang disediakan oleh Brother karena mereka bertentangan dengan brother-lpr-drivers-extra. Jika saya menghapus saudara-lpr-driver-ekstra dan menginstal driver yang disediakan oleh saudara, itu masih tidak berhasil.
ramiro