Re: Turning off camera also kills card reader on EeePC 900

Previous thread: Buffer I/O error on device sr0, logical block 793066 by Justin Mattock on Monday, September 15, 2008 - 1:21 am. (1 message)

Next thread: [PATCH] Fix for quad core x86 topology in 2.6.25.16 stable tree by Kiran Prakash on Monday, September 15, 2008 - 2:19 am. (2 messages)
From: Alan Jenkins
Date: Monday, September 15, 2008 - 1:48 am

It's a bug either way (a regression from the 701 hardware).  I think you
should be able to isolate it.

Firstly, I understand these kill-switches are supposed to be persistent
over reboots.  You should check that the SD card stays disabled when you
reboot.

Next, these settings are also exposed in the BIOS configuration screen,
right?  If it's the same as my 701 then the BIOS will have a separate
option for disabling the cardreader.  So you could see if the platform
driver "camera" switch is simply disabling and enabling the two switches
together.

Or if there's only a BIOS option for the camera, and not the SD card,
then you should test whether it disables the SD card.

Regards
Alan
--

From: Sitsofe Wheeler
Date: Monday, September 15, 2008 - 5:19 am

The settings are persistent (so changing a camera value that is 0 to 1 
will show the camera as being enabled if you go to the BIOS). However 

The option for disabling the cardreader is indeed separate from the one 
to disable the camera. There is, however a switch for disabling USB in 

OK there are separate switches in the BIOS for disabling (among other 
things) the Camera, CardReader, and USB Ports.

Doing echo 0 > camera when camera is already 0 does nothing. The value 
in cardr remains 1.
Doing echo 0 > camera when camera is 1 seemingly results in the SD card 
disappearing too (ehci_hcd 0000:00:1d.7: HC died; cleaning up). cardr 
value remains 1. The CardReader and USB Ports options will be in the 
enabled state when looking in the BIOS after rebooting. The Camera 
option will be in the disabled state in the BIOS.
Doing echo 1 > camera after the SD card  has disappeared (but before 
rebooting) in the above step will result in the SD card seemingly coming 
back at a different address and the kernel reporting 'irq 23: nobody 
cared (try booting with the "irqpoll" option)' and a usb_hcd_irq backtrace.
Doing echo 0 > cardr when cardr is 1 results in the SD card disappearing 
and an ext3 error being printed on the console. The CardReader option 
will be in the disabled state in the BIOS after rebooting.
Doing echo 0 > camera after the SD card  has disappeared (but before 
rebooting) in the above step will result in 'ehci_hcd 0000:00:1d.7: HC 
died; cleaning up' being printed.

-- 
Sitsofe | http://sucs.org/~sits/
--

From: Alan Jenkins
Date: Monday, September 15, 2008 - 6:37 am

Ok.  So the platform driver settings do match those in the BIOS.  My
guess would be the platform driver is fine and the BIOS screws up.

The "HC died" message is interesting.  Sounds like the controller for
these two USB devices stops working.  Maybe try unloading and reloading
the ehci module?  I don't think I can help any more though.

- I CC: the maintainer, maybe Corentin has other reports or ideas

- Are any BIOS upgrades available?  None of them mention this problem,
but the descriptions often miss out details. [1][2]

- It might be necessary to compare with the pre-installed OS
 - Is the pre-installed kernel any better (files might be under
/proc/acpi/asus instead)?  I guess you might not have the time or
resources to test that though.
 - The source code is... a 2Gb+ rar file someone would have to download
and pick apart.

Regards
Alan

[1] Asus downloads <http://eeepc.asus.com/global/download.htm>
[2] BIOS update howto <http://wiki.eeeuser.com/howto:updatebios>
--

From: Pascal Terjan
Date: Thursday, September 25, 2008 - 1:27 pm

On Mon, Sep 15, 2008 at 3:37 PM, Alan Jenkins

The issue also exist on 701 on 2.6.27-rc7 so the regression is in the
kernel not in the hardware

Disabling camera :

ehci_hcd 0000:00:1d.7: HC died; cleaning up
hub 1-0:1.0: hub_port_status failed (err = -19)
hub 1-0:1.0: connect-debounce failed, port 8 disabled
usb 1-8: USB disconnect, address 3
usb 1-5: USB disconnect, address 2

Enabling it again :

irq 23: nobody cared (try booting with the "irqpoll" option)
Pid: 0, comm: swapper Not tainted 2.6.27-desktop-0.rc6.3.2mnb #1
 [<c0380022>] ? printk+0x18/0x1e
 [<c016bdc7>] __report_bad_irq+0x27/0x90
 [<c016c08c>] note_interrupt+0x25c/0x290
 [<c016aef9>] ? handle_IRQ_event+0x39/0x70
 [<c016c63b>] handle_fasteoi_irq+0xab/0xd0
 [<c0106eb0>] do_IRQ+0x40/0x80
 [<c01048bf>] common_interrupt+0x23/0x28
 [<c0150eba>] ? tick_nohz_stop_sched_tick+0xca/0x350
 [<c01027aa>] cpu_idle+0x2a/0x130
 [<c0372b3e>] rest_init+0x4e/0x60
 =======================
handlers:
[<e005b800>] (usb_hcd_irq+0x0/0x90 [usbcore])
[<e005b800>] (usb_hcd_irq+0x0/0x90 [usbcore])
Disabling IRQ #23

Reloading ehci_hcd

ehci_hcd 0000:00:1d.7: remove, state 0
usb usb1: USB disconnect, address 1
ehci_hcd 0000:00:1d.7: USB bus 1 deregistered
ehci_hcd 0000:00:1d.7: PCI INT A disabled
usb 4-1: new full speed USB device using uhci_hcd and address 2
usb 4-1: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb 4-1: New USB device found, idVendor=0951, idProduct=1606
usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
usb 4-1: Product: UB6225
usb 4-1: Manufacturer: ENE
usb 4-1: SerialNumber: 146030377350
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usb 5-2: new full speed USB device using uhci_hcd and address 2
usb 5-2: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device <unnamed> (eb1a:2761)
uvcvideo: Using UVC_MAX_ISO_PACKETS=40
input: UVC Camera (eb1a:2761) as /class/input/input10
usb 5-2: New ...
From: Alan Jenkins
Date: Thursday, September 25, 2008 - 2:21 pm

On the bright side, that means more people should have the hardware to 
test it on (including me :-).

I've certainly used the camera enable/disable at some point.  But I 
could have missed the error message, and frankly I don't use the camera 
or cardreader very often.  I'll have a bash at it tomorrow.

Sitsofe says it reproduced on kernel.org 2.6.21 (presumably with an 
out-of-tree eeepc module).  So I guess this isn't a simple git-bisect 
job - more thinking required...

Thanks
Alan
--

From: Sitsofe Wheeler
Date: Thursday, September 25, 2008 - 10:46 pm

Er turns out I might be mistaken wrt to 2.6.21. I do have a 2.6.21 
kernel but it turned out I don't have an eeepc/asus-acpi module. As I'm 
going away for the next few days I won't have an opportunity to test 
this soon.

The problem also seems to have vanished in Ingo's linux-tip ...

-- 
Sitsofe | http://sucs.org/~sits/

--

From: Karl Kiniger
Date: Friday, September 26, 2008 - 7:47 am

[ deleted ]

something like this happened to me on the latest Fedora 9 kernel
when I turned off my USB hard drive. The second USB drive got killed
by this until ehci reload. 
The F9 kernel is reported tainted (dont know the reason), perhaps can
somebody enlighten me:

Sep 23 19:06:12 kipc2 kernel: Modules linked in: vfat fat reiserfs
usb_storage nls_utf8 cifs nfs lockd nfs_acl tun ipt_MASQUERADE
iptable_nat nf_nat bridge bnep rfcomm l2cap bluetooth ib_iser rdma_cm
ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi
scsi_transport_iscsi fuse sunrpc ipv6 nf_conntrack_netbios_ns
nf_conntrack_ftp ipt_REJECT xt_tcpudp nf_conntrack_ipv4 xt_state
nf_conntrack iptable_filter ip_tables x_tables loop dm_multipath
snd_usb_audio snd_intel8x0 snd_ac97_codec snd_seq_dummy snd_bt87x
ac97_bus snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss
snd_mixer_oss snd_pcm sr_mod cdrom tvaudio snd_usb_lib snd_rawmidi
snd_seq_device snd_hwdep bttv videodev v4l1_compat snd_timer i915
firewire_ohci firewire_core snd ir_common compat_ioctl32 v4l2_common
pata_sil680 ppdev crc_itu_t i2c_i801 tg3 parport_pc videobuf_dma_sg
videobuf_core btcx_risc tveeprom drm i2c_algo_bit i2c_core parport
soundcore iTCO_wdt iTCO_vendor_support pcspkr snd_page_alloc sg floppy
dm_snapshot dm_zero dm_mirror dm_log dm_


Sep 23 19:05:31 kipc2 kernel: usb 1-5: USB disconnect, address 22
Sep 23 19:05:31 kipc2 kernel: usb 1-3: reset high speed USB device using ehci_hcd and address 21
Sep 23 19:05:31 kipc2 kernel: usb_storage: can't resubmit intr, 0000:00:1d.7-3/input0, retval -19
Sep 23 19:05:31 kipc2 kernel: ehci_hcd 0000:00:1d.7: HC died; cleaning up
Sep 23 19:05:31 kipc2 kernel: usb 1-3: USB disconnect, address 0
Sep 23 19:05:32 kipc2 kernel: usb 1-3: device not accepting address 21, error -22
Sep 23 19:05:32 kipc2 kernel: hub 1-0:1.0: cannot reset port 3 (err = -19)
Sep 23 19:05:32 kipc2 kernel: sd 24:0:0:0: [sde] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK,SUGGEST_OK
Sep 23 19:05:32 kipc2 kernel: end_request: I/O ...
Previous thread: Buffer I/O error on device sr0, logical block 793066 by Justin Mattock on Monday, September 15, 2008 - 1:21 am. (1 message)

Next thread: [PATCH] Fix for quad core x86 topology in 2.6.25.16 stable tree by Kiran Prakash on Monday, September 15, 2008 - 2:19 am. (2 messages)