From: Martin Lucina <mato@kotelna.sk>
To: linux-hotplug@vger.kernel.org
Subject: Docking station / PCI hotplug
Date: Thu, 05 Feb 2004 15:36:37 +0000 [thread overview]
Message-ID: <loom.20040205T162136-164@post.gmane.org> (raw)
Hi,
I was wondering what the current state of hotplug support for Docking
Stations is -- http://linux-hotplug.sourceforge.net/?selected=dock
mentions that PNPBIOS has support for sending 'dock' events to hotplug,
but I'm not seeing anything like this happening on my Toshiba Portege
7220CTe. Of course it's entirely likely that Toshiba's PNPBIOS simply
does not send such events.
The docking station (Toshiba DVD Network Dock II) has a 3Com 3C905C-TX
network port, a couple of USB ports, Serial, Paralell and S-Video ports
and obviously a DVD-ROM drive. Currently these all work fine and are
detected by Linux if the system is booted in a docked configuration. I
can also unplug the system from the dock while it is running if I down
the network interface and de-register the DVD ROM using 'hdparm -U'.
However, there appears to be no way to get these devices (at least the
3Com NIC) to work again if the system is re-docked at a later date,
without a reboot.
The problem with the NIC appears to be that even though I down the
device and rmmod 3c59x, when I re-dock the machine and modprobe 3c59x it
doesn't reinitialise the PCI device correctly (it sees the device, but
the EA is ff:ff:ff:ff:ff:ff, and nothing works).
I've noticed that the 2.6 kernel (I'm currently running 2.6.2) comes
with a "Fake PCI Hotplug Controller". This currently only supports
removing devices but looking at comments in the source could probably be
adapted to adding devices without too much work. Now, having only
recently started using 2.6.x, I'm not up to speed on how the new APIs
work, but what I'd like to see (and am prepared to implement, given time
and some guidance on where to look) is:
1. A sysfs-based (I presume) interface that allows me to
- remove PCI devices from the system
- add them back again, fully re-initializing the PCI device
- rescan a PCI bus for new devices
2. A similar interface for IDE devices. The current 'hdparm -U' and
'hdparm -R' stuff seems to be a bit of a hack.
For 1), I presume the place to start is the PCI Hotplug code?
For 2) -- ? The existing register/unregister code in the IDE drivers?
Is anyone else working on this at the moment?
Cheers,
-mato
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next reply other threads:[~2004-02-05 15:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-05 15:36 Martin Lucina [this message]
2004-02-05 17:22 ` Docking station / PCI hotplug Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=loom.20040205T162136-164@post.gmane.org \
--to=mato@kotelna.sk \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).