bumbler
January 30th, 2006, 13:20
Back when I ran 4.x, I could plug in my Olympus D-390 and had no trouble reading the images. On the other hand, I couldn't easily use PCMCIA cards on my laptop, especially wifi. Seems wlan was a bear to engage -- or maybe I just didn't do it right?

Anyway, because of the need for 32-bit drivers, I loaded 5.x. Wifi is fine, but since leaving 4.x, every iteration on every piece of hardware crashes when I plug my camera into the USB port. With 6.0, it's gotten worse. Not just a crash and restart, but the machine locks up. For desktop use, this is worse.

Is anyone aware of efforts to fix this? Are those efforts making any headway? I realize the problem lies in making the kernel tolerate bogus info coming from the hardware, but why was 4.x so much more tolerant?

Strog
January 30th, 2006, 16:29
I don't think I've ever witnessed a lockup/crash with USB on FreeBSD. I'm sure it happens.

Perhaps there's a couple devices that use PCI Busmastering that are in contention for an IRQ?
Is there any legacy USB options in the BIOS?
Is ACPI enabled/disabled?
What USB related options are compiled into the kernel or loaded as modules?
Does your system have USB 1.1 or 2.0 ports?
if both then have you tried both?

I've had my 3.1 Megapixel Kodak camera for a while now. I've used it with Windows, OS X, gphoto2 on NetBSD/FreeBSD and just put the memory card in a reader. For me, I think the card reader was as easy as anything else and a more universal solution. While a card reader doesn't directly fix your issue, it would keep the lockups away while you find a more permanent solution.

bumbler
January 30th, 2006, 17:15
Perhaps there's a couple devices that use PCI Busmastering that are in contention for an IRQ?
Is there any legacy USB options in the BIOS?
Is ACPI enabled/disabled?
What USB related options are compiled into the kernel or loaded as modules?
Does your system have USB 1.1 or 2.0 ports?
if both then have you tried both?

I'm not sure I can answer any of this. I'll explain what I understand.

On things related to BIOS and hardware, I have the advantage of having tested four versions/distros of Linux without IRQ troubles on this machine (came with XP, which was another matter), a Pavilion 542x. OTOH, the crashing took place on a laptop as well, which was tested with 4.x and 5.x, as well as a half-dozen Linuxes. Again, 4.x on the laptop read it just fine. I had two other desktop systems (now gone) running 4.x which worked fine. The crashing and reboot came on both current machines under 5.x. The lockup came on the Pavilion under 6.0.

The Pavilion had a valid ACPI, barring a few things the FreeBSD kernels ignored. The only thing special I did in the kernel was crop out SCSI drivers I knew I didn't have hardware for, but kept the basic framework stuff (miibus, da, etc.). I also cropped out RAID stuff. On the laptop I killed the ACPI because I knew it wouldn't work, but it seemed to work quite well on the Pavilion, better than in Linux. So when I updated and so forth, whatever was default in the kernel was pretty much what I used. Either way, I used consistent kernel options across all versions of FreeBSD, insofar as they overlapped.

I believe the USB ports on the back of the Pavilion are 2.0 and the front are probably 1.1, but the crashing came regardless which I used. However, when I used my jump drive on the Pavilion and the laptop, it didn't matter which OS or version I used, it worked just fine. Also, USB pointing devices. For that reason, I doubt the problem is with the USB hardware or IRQs.

(Tangential reminder: I can't afford a card reader. All my hardware is donated, with minor exceptions.)

Strog
January 30th, 2006, 19:00
That model of camera should be accessible as a USB Mass Storage device (wish mine was) so you should be able to just mount it as a drive. Mass Storage uses the SCSI subsystem so you might want to check on how much of that was actually removed. Using a generic kernel and loading any needed kernel modules should be enough to troubleshoot this.

I'd have to agree that it doesn't seem to be a hardware issue.

bumbler
January 30th, 2006, 20:24
I just spotted a thread awhile back about how some cameras feed unreadable info. I'm not sure how much I understood, but the discussion indicated the Linux kernel passed it off to some other kernel process and mounted it anyway, then read it on the fly. There is no such process in the FreeBSD kernel, and they discussed patches, but this was back in 5.3. Apparently that idea can't be ported so easily. I was hoping maybe there would have been a fix in 6.0.

I'll have to try it with a stock kernel sometime. Right now I have CentOS 4.2 running on a spare drive in the machine because I was getting behind on some projects and needed the photos. Thanks.