LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 03-13-2018, 09:23 AM   #1
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Rep: Reputation: Disabled
Troubleshooting Nikon Super Coolscan 4000 ED


I posted my first calls for help on the Linux Mint forum (Nikon Super Coolscan 4000 ED) but came away disappointed by the limited amount of help I received. It may have been my fault for overwhelming them with a Wall of Text (aka WoT) - so I will be careful not to make the same mistake here. Finally, today, someone on that forum suggested that I should have posted my questions to "...a more generic forum" and suggested this one. So here I am.

If you would like to see the full details of my situation, please follow the above link to see them. It includes very-detailed - hopefully comprehensive - information.

I'll net out my current situation here (also summarized in the very-last post on that forum):

In "Some notes on failure diagnostics / troubleshooting the Nikon 4000 and 5000 scanners" I found this description in the Symptom/Problem/Solution table that very-closely matches what I have been seeing: "The scanner passes power-up initialization fine (no fast blinking), and is recognized by a computer (in Windows - Device Manager), BUT - Nikon Scan does NOT see it." The notes say: In every case (that I saw), it was caused by a failed SAA7356HL, with the following additional information: Replace SAA7356HL.

Yep, this may be hardware problem. And I have found a very-nice man, with countless happy customers, who will fix it for me: Alex Ketzner (abstudios@live.com).

The basic servicing on an LS-4000 is $190. And he no longer replaces individual chips, so I'd need to replace the whole motherboard for an additional $350.

Needless to say, I am more than a little reluctant to spend $540 (plus shipping costs) on a 17-year-old scanner. :-)

One of my key motivations for trying to make this scanner work with Linux was for its presumably greater openness and better diagnostic capabilities. So, PLEASE, someone help me here: If a hardware problem, failing IEEE-1394 (Firewire) controller, is my hypothesis, how can I prove (or disprove) it with Linux?

Is there a UDEV debug mode that I could turn on in order to see exactly what Linux is seeing from the scanner?

Thanks.

BobLx
 
Old 03-13-2018, 01:22 PM   #2
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
I do not have experience with SCSI-connected scanners or this particular model, but it might still be useful to show us how you have configured coolscan.conf, and I assume that you have linked the appropriate /dev/sg* device node to /dev/scanner (as per the suggestions in sane-scsi)?
Quote:
For scanners with a SCSI interface, it may be necessary to edit the appropriate backend configuration file before using SANE for the first time. For most systems, the configuration file should list the name of the generic SCSI device that the scanner is connected to (e.g., under Linux, /dev/sg4 or /dev/sge is such a generic SCSI device). It is customary to create a symlink from /dev/scanner to the generic SCSI device that the scanner is connected to. In this case, the configuration file simply lists the line /dev/scanner.
Check the device node permissions as well
Code:
ls -l /dev/sg*
 
Old 03-13-2018, 01:48 PM   #3
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
I note that both the coolscan2 and coolscan3 backends claim to support this model?
Code:
linux-kgxs:/etc/sane.d # cat /usr/share/sane/descriptions/coolscan2.desc|grep 4000
:usbid "0x04b0" "0x4000"
:model "LS 4000 ED"
linux-kgxs:/etc/sane.d # cat /usr/share/sane/descriptions/coolscan3.desc|grep 4000
:usbid "0x04b0" "0x4000"
:usbid "0x04b0" "0x4000"
:model "LS 4000 ED"
I guess either could be tried by explicitly commenting out the unneeded one in /etc/sane.d/dll.conf
 
Old 03-15-2018, 10:08 PM   #4
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Original Poster
Rep: Reputation: Disabled
Dear Ferrari,

Thank you for both of your replies.

While I've been experimenting with Linux for a few weeks now, I am still pretty much a newbie with it. I've also tried many things including installing both the coolscan2 and coolscan3 backends. It never occurred to me that they might conflict with each other (as you are suggesting commenting out the unneeded one). So I just now opened up /etc/sane.d/dll.conf to see what I could see and, much to my surprise, it appears that coolscan2 is commented out already. I do not think I did it. Maybe coolscan2 was commented out by the installation of coolscan3?

Code:
# The next line enables the network backend; comment it out if you don't need
# to use a remote SANE scanner over the network - see sane-net(5) and saned(8)
net
abaton
agfafocus
apple
avision
artec
artec_eplus48u
as6e
bh
canon
canon630u
canon_dr
#canon_pp
cardscan
coolscan
#coolscan2
coolscan3
#dc25
...
Here's my coolscan.conf
Code:
scsi Nikon * Scanner
/dev/scanner
This is a little embarrassing but I have been messing with this stuff for so long that I am not certain whether or not I made changes to coolscan.conf or if that was how it started. It certainly could be messed up. Unfortunately, I have no idea what they mean by creating a symlink. I am at the limits of my knowledge here.

Regarding the permissions, here is where things are aat this moment:
Code:
bob@bob-ThinkPad-T520 ~ $ lsscsi -g
[0:0:0:0]    disk    ATA      HTS721010G9SA00  C14V  /dev/sda   /dev/sg0 
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GT33N     LT20  /dev/sr0   /dev/sg1 
[6:0:0:0]    disk               LS-4000 ED       1.  /dev/sdb   /dev/sg2 
bob@bob-ThinkPad-T520 ~ $ ls -l /dev/sg*
crw-rw----  1 root disk  21, 0 Mar 15 09:59 /dev/sg0
crw-rw----+ 1 root cdrom 21, 1 Mar 15 09:59 /dev/sg1
crw-rw----  1 root disk  21, 2 Mar 15 22:09 /dev/sg2
I realize that there's a permissions problem with the above. So here's how I have tried to fix it:
Code:
bob@bob-ThinkPad-T520 ~ $ sudo chgrp scanner /dev/sg2
[sudo] password for bob: 
bob@bob-ThinkPad-T520 ~ $ sudo chmod 660 /dev/sg2
bob@bob-ThinkPad-T520 ~ $ ls -l /dev/sg*
crw-rw----  1 root disk    21, 0 Mar 15 09:59 /dev/sg0
crw-rw----+ 1 root cdrom   21, 1 Mar 15 09:59 /dev/sg1
crw-rw----  1 root scanner 21, 2 Mar 15 22:09 /dev/sg2
Now it seems like that should work yet neither sane-find-scanner, nor xsane, nor vuescan can find the scanner.

Now, of course, I'd rather not have to do the chgrp and chmod every time I want to use the scanner but I don't know what config to change in order to get it to come up right in the first place.

Of course, this is all back on the assumption that something is wrong with my software and/or configuration (which could well be the case), but my latest hypothesis is that this is indeed a hardware problem with the scanner. I've arrived at that conclusion based upon a very, very helpful web site where I found a pretty accurate description of what I am seeing with the scanner: Some notes on failure diagnostics / troubleshooting the Nikon 4000 and 5000 scanners Because I am seeing "The scanner passes power-up initialization fine (no fast blinking), and is recognized by a computer (in Windows - Device Manager), BUT - Nikon Scan does NOT see it." He says: "In every case (that I saw), it was caused by a failed SAA7356HL." (That's the IEEE 1394 controller chip.)

Which brings me back around to my opening question in this thread: Can you - or anyone - suggest any way I might be able to test and either prove or disprove the hypothesis that my problem is indeed a hardware problem? (Some sort of debug feature somewhere - and knowing what bytes to look at??)

I'm still happy to experiment with software and configurations if anyone has any suggestions of things I might try. but, given my inexperience, you'll need to be pretty prescriptive about what I need to do. ;-)

Thanks,

BobLx
 
Old 03-15-2018, 10:48 PM   #5
AwesomeMachine
LQ Guru
 
Registered: Jan 2005
Location: USA and Italy
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524

Rep: Reputation: 1015Reputation: 1015Reputation: 1015Reputation: 1015Reputation: 1015Reputation: 1015Reputation: 1015Reputation: 1015
@OP, OK, if it is the interface chip, your not going to confirm it using software, except by the most indirect method, i.e. knowing what certain symptoms indicate. It looks like you can purchase a working scanner of that model for 420.00 or so all day long on eBay.

If it needs the repair in the link you gave, it's a pretty tough repair to do with soldering tools. So, you'll probably look for a while until you find someone willing to replace the IC.
 
Old 03-16-2018, 02:15 AM   #6
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
Quote:
Here's my coolscan.conf
Code:
scsi Nikon * Scanner
/dev/scanner
This is a little embarrassing but I have been messing with this stuff for so long that I am not certain whether or not I made changes to coolscan.conf or if that was how it started.
Actually, the configuration file name needs to match the corresponding backend ie for the coolscan3 backend, cooldscan3.conf is the relevant config file. Check that /dev/scanner entry is present.

Quote:
It certainly could be messed up. Unfortunately, I have no idea what they mean by creating a symlink. I am at the limits of my knowledge here.
This confirms that the scanner device node is /dev/sg2
Code:
crw-rw----  1 root scanner 21, 2 Mar 15 22:09 /dev/sg2
Check that /dev/scanner is a link to /dev/sg2....
Code:
ls -l /dev/scanner
Having said all that, based on your dialogue so far it could well be that the hardware has indeed failed, in which case it's time to recycle it and invest in another.

Last edited by ferrari; 03-16-2018 at 02:18 AM.
 
Old 03-16-2018, 10:42 AM   #7
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Original Poster
Rep: Reputation: Disabled
Thanks for hanging with me, and my ignorance!

Thanks for your thoughts AwesomeMachine and thanks again Ferrari,

If you guys knew how long I've been messing with this scanner, you'd laugh out loud (my family already is)! Between my brother, his wife, myself, my wife, and one of our two sons, we have five Computer Science degrees (two from UVA, two from VA Tech, and one from UNC).

Here's the thing (and probably more than you'd like to know):
  • About six year ago, my son and I set up our old slide projector pointing at a white wall with a camera on a tripod pointing at the same place. We went through 10 carousels of slides (140 slides per carousel), click, click, click. As crazy as it sounds, what we ended up with was pretty decent! Amusingly, there is a very-expensive ($3000+) new slide scanner out on the market that looks almost like what we did - except that they had the great idea of pointing the camera straight into the projector (with some obvious modifications).
  • Now I am trying to clean out and my old Kodak slide projector has stopped working (a plastic gear, I think). I'd like to get rid of the projector, the old projection screen, and all of those bulky carousels (I'll save the actual slides for now, though I am not sure why).
  • My wife and I looked through all of those digital photos and picked the ones that we thought were worth the effort of trying to get a better-quality scan. My older brother kindly offered to let me try to get his old Nikon Coolscan scanner to work - though he warned me that there might be a problem finding drivers that would work. (He's almost certainly laughing the hardest at this point.) So I started messing with the Nikon scanner.
  • In an early partial success, I got a glimpse of the quality this scanner can deliver and it is substantially better than what my son and I achieved with the camera and the wall.
  • In frustration with my inability to get the Nikon scanner to work, I tried a scanner my Dad bought for about $100 at BestBuy (stand alone scanner that you manually push the slides through and doesn't even require a computer except to unload the CF card). Pictures from that scanner were no better than what my son and I had achieved with our crude, but much faster, approach.
  • In addition, my brother's Nikon scanner has a 50-slide auto feeder, which would be a LOT less painful than individually scanning each slide.
  • Out of all of this, I set my sights back on trying to make the Nikon scanner work - and embarked on my journey to learn Linux (which can't be all bad anyway).

With that all said, I am an old networking guy and, back in the day, we could trouble shoot problems by turning on traces and watching what goes over the wire. I'm not really interested in tracing the IEEE 1394 interface but what about the software (is it called a driver in Linux) that handles that interface, and what about the software that figures out this is a Nikon Scanner (is that UDEV?)? Looking at the output from my lsscsi -g, it appears that Linux think my scanner is a disk drive. That can't be good. ;-)

Ferrari: Thanks for suggesting that I look at coolscan3.conf. Here's what it looks like:
Code:
# coolscan3.conf: sample configuration file for coolscan3 backend
#
# The following entrie checks for your scanner by manufacturer (SCSI)
# and by vendor and product ID (USB). This is what the backend does when
# no configuration file can be found.
#
auto

# You can also configure the backend for specific device files, but this
# should not normally be necessary (under Linux at least).
# Syntax for specific devices: <interface>:<device>
#
# For a SCSI scanner, uncomment and edit the following line:
#scsi:/dev/scanner
#
# For a USB scanner, uncomment and edit the following line:
#usb:/dev/usbscanner
#
# For an IEEE 1394 scanner, use the SBP2 protocol (under Linux, use the
# sbp2 kernel module), and your scanner will be handled as a SCSI device.
I'v been down this path before too. Unfortunately for me, I don't understand what it is saying about the SBP2 protocol. Is that another config file that I need to go and look at?

Also, here's the output from the ls -l /dev/scanner:
Code:
bob@bob-ThinkPad-T520 ~ $ ls -l /dev/scanner
ls: cannot access '/dev/scanner': No such file or directory
On the "good news" side, I've contacted the guy who posted those troubleshooting web pages and he would be willing to replace that IEEE 1394 controller chip for me at the more-reasonable cost of $100 - as long as I disassemble the scanner and give him just the motherboard. Again, though, before I go through the process of taking this scanner apart and paying this guy $100 to replace a chip, I sure would like to make sure that I've got everything else right.

Thanks again for hanging with me on this and trying to help.

BobLx
 
Old 03-16-2018, 03:47 PM   #8
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
Your coolscan3.conf file currently contains the following entry...
Code:
# For a SCSI scanner, uncomment and edit the following line:
#scsi:/dev/scanner
That line needs to be uncommented via an editor (as root). However, your output confirmed that /dev/scanner symlink doesn't exist, so probably just easiest to change to something like this with no comment character (# character)
Code:
scsi:/dev/sg2
Save when done.

Now try the scanner function again.
 
Old 03-16-2018, 04:29 PM   #9
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
Returning to your earlier comments about the attached device being seen as a disk, it would be useful to see the scanner device attributes reported by udev. Check that the LS-4000 ED is still using the same device node (it might change after a reboot for example).
Code:
lsscsi -g
then assuming it is /dev/sg2 do
Code:
udevadm info -a -p /sys/class/scsi_generic/sg2
That output may tell us where things are at.
 
Old 03-16-2018, 05:14 PM   #10
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by ferrari View Post
Returning to your earlier comments about the attached device being seen as a disk, it would be useful to see the scanner device attributes reported by udev. Check that the LS-4000 ED is still using the same device node (it might change after a reboot for example).
Code:
lsscsi -g
then assuming it is /dev/sg2 do
Code:
udevadm info -a -p /sys/class/scsi_generic/sg2
That output may tell us where things are at.
Okay, thanks for the suggestions. Per your suggestion, first I edited coolscan3.conf, saved my changes, and then reopened it to confirm that my changes took. (You had my hopes up that we might be onto something. You know programmers, always thinking that this next change is going to make everything work.) Then I powered up the scanner and did the following:
Code:
bob@bob-ThinkPad-T520 /etc/sane.d $ lsscsi -g
[0:0:0:0]    disk    ATA      HTS721010G9SA00  C14V  /dev/sda   /dev/sg0 
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GT33N     LT20  /dev/sr0   /dev/sg1 
[6:0:0:0]    disk               LS-4000 ED       1.  /dev/sdb   /dev/sg2 
bob@bob-ThinkPad-T520 /etc/sane.d $ udevadm info -a -p /sys/class/scsi_generic/sg2

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0/6:0:0:0/scsi_generic/sg2':
    KERNEL=="sg2"
    SUBSYSTEM=="scsi_generic"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0/6:0:0:0':
    KERNELS=="6:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{ieee1394_id}=="0090b54001ffffff:00042c:0000"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x70"
    ATTRS{ioerr_cnt}=="0x5b"
    ATTRS{iorequest_cnt}=="0x70"
    ATTRS{model}=="  LS-4000 ED    "
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{rev}=="  1."
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="        "

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0':
    KERNELS=="target6:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6':
    KERNELS=="host6"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0':
    KERNELS=="fw1.0"
    SUBSYSTEMS=="firewire"
    DRIVERS=="firewire_sbp2"
    ATTRS{model}=="0x004001"
    ATTRS{model_name}=="LS-4000 ED"
    ATTRS{rom_index}=="11"
    ATTRS{specifier_id}=="0x00609e"
    ATTRS{version}=="0x010483"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1':
    KERNELS=="fw1"
    SUBSYSTEMS=="firewire"
    DRIVERS==""
    ATTRS{guid}=="0x0090b54001ffffff"
    ATTRS{hardware_version}=="0x00500a"
    ATTRS{is_local}=="0"
    ATTRS{units}=="0x00609e:0x010483"
    ATTRS{vendor}=="0x0090b5"
    ATTRS{vendor_name}=="Nikon"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3':
    KERNELS=="0000:0d:00.3"
    SUBSYSTEMS=="pci"
    DRIVERS=="firewire_ohci"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0010"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0xe832"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="4"
    ATTRS{irq}=="19"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{local_cpus}=="0f"
    ATTRS{max_link_speed}=="2.5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x04"
    ATTRS{subsystem_device}=="0x21cf"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{vendor}=="0x1180"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4':
    KERNELS=="0000:00:1c.4"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x1c18"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="16"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{local_cpus}=="0f"
    ATTRS{max_link_speed}=="5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0xb4"
    ATTRS{secondary_bus_number}=="13"
    ATTRS{subordinate_bus_number}=="13"
    ATTRS{subsystem_device}=="0x21cf"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
Notice that my Linux system still seems to think the scanner is a disk drive. Nothing changed there. 8-(.. .. ..

As I look down the udevadm output, I can see: ATTRS{model}==" LS-4000 ED " --- which gives me confidence that we're getting something from the scanner

I can also see: ATTRS{vendor_name}=="Nikon" -- so now Linux should know that it is a Nikon scanner

This is what keeps me coming back and messing with settings. It seems like I am so close to getting it working. And does this really look like a hardware problem to you?

Thanks again.

BobLx
 
Old 03-16-2018, 06:41 PM   #11
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
Well at a scsci-level the communications is working as expected. Let's see if a udev rule can help with getting the device recognised as a scanner and set appropriate permissions etc...

For example, a custom rule like this /etc/udev/rules.d/60-coolscan.rules containing
Code:
KERNEL=="sg[0-9]*", ATTRS{model}=="LS-4000 ED", MODE="0664", GROUP="scanner", SYMLINK="scanner", ENV{libsane_matched}="yes"
This would take effect when the scanner is next attached or power-cycled.

Last edited by ferrari; 03-16-2018 at 07:24 PM.
 
Old 03-16-2018, 08:57 PM   #12
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Original Poster
Rep: Reputation: Disabled
No joy so far, but hey, I'm learning stuff :-)

Quote:
Originally Posted by ferrari View Post
Well at a scsci-level the communications is working as expected. Let's see if a udev rule can help with getting the device recognised as a scanner and set appropriate permissions etc...

For example, a custom rule like this /etc/udev/rules.d/60-coolscan.rules containing
Code:
KERNEL=="sg[0-9]*", ATTRS{model}=="LS-4000 ED", MODE="0664", GROUP="scanner", SYMLINK="scanner", ENV{libsane_matched}="yes"
This would take effect when the scanner is next attached or power-cycled.
I created the 60-coolscan.rules file in the .../rules.d directory as suggested. I also opened it back up just to make sure that I got it saved okay.

I did that with the scanner turned off and then turned it on but no joy. Then I completely rebooted my system just to see if that might help and still nothing new.

Code:
bob@bob-ThinkPad-T520 ~ $ lsscsi -g
[0:0:0:0]    disk    ATA      HTS721010G9SA00  C14V  /dev/sda   /dev/sg0 
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GT33N     LT20  /dev/sr0   /dev/sg1 
[6:0:0:0]    disk               LS-4000 ED       1.  /dev/sdb   /dev/sg2
Code:
bob@bob-ThinkPad-T520 ~ $ ls -l /dev/sg*
crw-rw----  1 root disk  21, 0 Mar 16 21:41 /dev/sg0
crw-rw----+ 1 root cdrom 21, 1 Mar 16 21:41 /dev/sg1
crw-rw----  1 root disk  21, 2 Mar 16 21:42 /dev/sg2
And here's the udevadm output:
Code:
bob@bob-ThinkPad-T520 ~ $ udevadm info -a -p /sys/class/scsi_generic/sg2

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0/6:0:0:0/scsi_generic/sg2':
    KERNEL=="sg2"
    SUBSYSTEM=="scsi_generic"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0/6:0:0:0':
    KERNELS=="6:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{ieee1394_id}=="0090b54001ffffff:00042c:0000"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x7f"
    ATTRS{ioerr_cnt}=="0x6a"
    ATTRS{iorequest_cnt}=="0x7f"
    ATTRS{model}=="  LS-4000 ED    "
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{rev}=="  1."
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="        "

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0':
    KERNELS=="target6:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6':
    KERNELS=="host6"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0':
    KERNELS=="fw1.0"
    SUBSYSTEMS=="firewire"
    DRIVERS=="firewire_sbp2"
    ATTRS{model}=="0x004001"
    ATTRS{model_name}=="LS-4000 ED"
    ATTRS{rom_index}=="11"
    ATTRS{specifier_id}=="0x00609e"
    ATTRS{version}=="0x010483"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1':
    KERNELS=="fw1"
    SUBSYSTEMS=="firewire"
    DRIVERS==""
    ATTRS{guid}=="0x0090b54001ffffff"
    ATTRS{hardware_version}=="0x00500a"
    ATTRS{is_local}=="0"
    ATTRS{units}=="0x00609e:0x010483"
    ATTRS{vendor}=="0x0090b5"
    ATTRS{vendor_name}=="Nikon"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3':
    KERNELS=="0000:0d:00.3"
    SUBSYSTEMS=="pci"
    DRIVERS=="firewire_ohci"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0010"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0xe832"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="19"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{local_cpus}=="0f"
    ATTRS{max_link_speed}=="2.5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x04"
    ATTRS{subsystem_device}=="0x21cf"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{vendor}=="0x1180"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4':
    KERNELS=="0000:00:1c.4"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x1c18"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="16"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{local_cpus}=="0f"
    ATTRS{max_link_speed}=="5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0xb4"
    ATTRS{secondary_bus_number}=="13"
    ATTRS{subordinate_bus_number}=="13"
    ATTRS{subsystem_device}=="0x21cf"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

From the looks of it, I can't see where the UDEV rule made any difference. Any thoughts on what I might have done wrong? I know this is getting to be a hassle for you. (Imagine that I've been messing with this stuff since January - first with Windows 10, then I briefly tried to set up an XP system, then on to Linux Mint.)

It is fun to have someone who is knowledgeable trying to help me. Thanks.

BobLx
 
Old 03-16-2018, 09:14 PM   #13
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
There was no need to run 'udevadm info...' again. The attributes are what is enumerated by the device via the kernel itself. The udev rule used two of those attributes for matching. However, group 'disk' is still assigned to /dev/sg2 which means that some other udev rule is matching and overrides the custom one. I'll have to ponder over that further.

Meanwhile at least check that the firewire_sbp2 module is loaded as expected...
Code:
lsmod|grep firewire
 
Old 03-16-2018, 09:27 PM   #14
BobLx
LQ Newbie
 
Registered: Mar 2018
Location: Raleigh, NC US
Distribution: Linux Mint 18.3 Sylvia, Cinnamon 64-bit on Lenovo Thinkpad T520
Posts: 16

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by ferrari View Post
There was no need to run 'udevadm info...' again. The attributes are what is enumerated by the device via the kernel itself. The udev rule used two of those attributes for matching. However, group 'disk' is still assigned to /dev/sg2 which means that some other udev rule is matching and overrides the custom one. I'll have to ponder over that further.

Meanwhile at least check that the firewire_sbp2 module is loaded as expected...
Code:
lsmod|grep firewire
Here is the lsmod output:
Code:
bob@bob-ThinkPad-T520 ~ $ lsmod | grep firewire
firewire_sbp2          24576  0
firewire_ohci          40960  0
firewire_core          65536  2 firewire_sbp2,firewire_ohci
crc_itu_t              16384  1 firewire_core
In case it is useful, here is what the syslog shows when I turn on the scanner:
Code:
Mar 16 22:19:40 bob-ThinkPad-T520 kernel: [ 2341.872149] scsi host6: SBP-2 IEEE-1394
Mar 16 22:19:40 bob-ThinkPad-T520 kernel: [ 2341.872374] firewire_core 0000:0d:00.3: created device fw1: GUID 0090b54001ffffff, S400
Mar 16 22:19:40 bob-ThinkPad-T520 kernel: [ 2341.872386] firewire_core 0000:0d:00.3: phy config: new root=ffc0, gap_count=5
...
Mar 16 22:19:41 bob-ThinkPad-T520 kernel: [ 2342.074755] firewire_sbp2 fw1.0: logged in to LUN 0000 (0 retries)
Mar 16 22:19:41 bob-ThinkPad-T520 kernel: [ 2342.081434] scsi host6: scsi scan: INQUIRY result too short (7), using 36
Mar 16 22:19:41 bob-ThinkPad-T520 kernel: [ 2342.081447] scsi 6:0:0:0: Direct-Access                LS-4000 ED       1. PQ: 0 ANSI: 6
Mar 16 22:19:41 bob-ThinkPad-T520 kernel: [ 2342.094940] sd 6:0:0:0: Attached scsi generic sg2 type 0
Mar 16 22:19:41 bob-ThinkPad-T520 kernel: [ 2342.102239] sd 6:0:0:0: [sdb] Spinning up disk...
Mar 16 22:19:43 bob-ThinkPad-T520 kernel: [ 2343.125021] .
Mar 16 22:19:44 bob-ThinkPad-T520 kernel: [ 2344.149076] .
Mar 16 22:19:45 bob-ThinkPad-T520 kernel: [ 2345.173061] .
Mar 16 22:19:46 bob-ThinkPad-T520 kernel: [ 2346.197124] .
Mar 16 22:19:47 bob-ThinkPad-T520 kernel: [ 2347.220987] .
Mar 16 22:19:48 bob-ThinkPad-T520 kernel: [ 2348.245043] .
Mar 16 22:19:49 bob-ThinkPad-T520 kernel: [ 2349.269005] .
Mar 16 22:19:50 bob-ThinkPad-T520 kernel: [ 2350.296975] .
Mar 16 22:19:51 bob-ThinkPad-T520 kernel: [ 2351.316967] .
Mar 16 22:19:52 bob-ThinkPad-T520 kernel: [ 2352.340946] .
Mar 16 22:19:53 bob-ThinkPad-T520 kernel: [ 2353.460985] .
Mar 16 22:19:54 bob-ThinkPad-T520 kernel: [ 2354.549032] .
Mar 16 22:19:55 bob-ThinkPad-T520 kernel: [ 2355.573031] .
Mar 16 22:19:56 bob-ThinkPad-T520 kernel: [ 2356.597032] .
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2357.620983] .
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.645024] .
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.647795] ready
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.654254] sd 6:0:0:0: [sdb] Sector size 0 reported, assuming 512.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.667779] sd 6:0:0:0: [sdb] 1 512-byte logical blocks: (512 B/512 B)
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.667787] sd 6:0:0:0: [sdb] 0-byte physical blocks
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.675035] sd 6:0:0:0: [sdb] Test WP failed, assume Write Enabled
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.677059] sd 6:0:0:0: [sdb] Cache data unavailable
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.677065] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.697968] sd 6:0:0:0: [sdb] Sector size 0 reported, assuming 512.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731468] scsi_io_completion: 9 callbacks suppressed
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731489] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731498] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731505] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731512] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731515] print_req_error: 9 callbacks suppressed
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731519] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731529] buffer_io_error: 8 callbacks suppressed
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.731532] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733891] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733901] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733905] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733908] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733911] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.733915] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736499] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736506] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736512] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736519] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736522] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736529] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.736551] ldm_validate_partition_table(): Disk read failed.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.738990] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.738999] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.739005] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.739012] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.739016] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.739026] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741499] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741517] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741521] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741526] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741529] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.741535] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744082] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744120] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744130] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744140] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744148] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.744164] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746481] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746502] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746511] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746520] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746526] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746543] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.746572] Dev sdb: unable to read RDB block 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.748993] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.749003] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.749019] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.749028] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.749042] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.749046] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751498] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751523] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751531] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751540] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751546] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.751555] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.753973] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.753982] sd 6:0:0:0: [sdb] tag#0 Sense Key : Aborted Command [current] 
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.753989] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Data phase error
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.753995] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 01 00
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.754000] print_req_error: I/O error, dev sdb, sector 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.754009] Buffer I/O error on dev sdb, logical block 0, async page read
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.756561]  sdb: unable to read partition table
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.756585] sdb: partition table beyond EOD, enabling native capacity
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.765717] sd 6:0:0:0: [sdb] Sector size 0 reported, assuming 512.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.804485] ldm_validate_partition_table(): Disk read failed.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.814763] Dev sdb: unable to read RDB block 0
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.824960]  sdb: unable to read partition table
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.824980] sdb: partition table beyond EOD, truncated
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.842889] sd 6:0:0:0: [sdb] Sector size 0 reported, assuming 512.
Mar 16 22:19:57 bob-ThinkPad-T520 kernel: [ 2358.900517] sd 6:0:0:0: [sdb] Attached SCSI disk
Thanks, again, for trying to help.

BobLx
 
Old 03-16-2018, 10:28 PM   #15
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,819

Rep: Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144Reputation: 1144
The lsmod output is as expected. The syslog output does confirm that this peripheral is incorrectly being treating as a block device.

The 'sd' (sd_mod kernel module) should not be bound to this parent device...
Code:
looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw1/fw1.0/host6/target6:0:0/6:0:0:0':
    KERNELS=="6:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
and I would have expected
Code:
ATTRS{type}=="3"
as with other SCSI-attached scanner devices I've seen online rather than
Code:
ATTRS{type}=="0"
I note that 50-udev-default.rules (in /lib/udev/rules.d/ or /usr/lib/udev/rules.d/) contains the entry
Code:
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
for dealing with such devices, so that would explain why group 'disk' is assigned.

This may be due to a bug that that needs to be reported. I'm not convinced that there is a hardware issue here.

Last edited by ferrari; 03-16-2018 at 11:38 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Nikon ls-1000 (coolscan) Scanner Problem jon44 Linux - Hardware 4 11-25-2012 10:27 AM
Super user—yes! Super Cow? vyver Ubuntu 10 10-24-2010 07:29 PM
nfs write == super slow; read == super fast - problem? BrianK Linux - Networking 4 08-23-2007 10:59 PM
Nikon Coolpix L4 Help Manny1337 Linux - Hardware 2 10-20-2006 11:21 AM
Vuescan, Nikon Coolscan 5000ED USB Scanner, SuSE Linux64 AMD - trouble with timeout klaus_zinser Linux - Hardware 0 11-15-2004 09:12 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 07:05 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration