- Drivers Connectcom Scsi & Raid Devices List
- Drivers Connectcom Scsi & Raid Devices Download
- Drivers Connectcom Scsi & Raid Devices Usb
The USB host-side drivers are a set of drivers that work with EHCI or XHCI compliant USB host controllers. The drivers are loaded if the role-switch driver enumerates the host role. If your host controller is not specification-compliant, then you can write a custom driver by using USB host controller extension (UCX) programming interface.
AdvanSys (Advanced System Products, Inc.) manufactures the followingRISC-based, Bus-Mastering, Fast (10 Mhz) and Ultra (20 Mhz) Narrow(8-bit transfer) SCSI Host Adapters for the ISA, EISA, VL, and PCIbuses and RISC-based, Bus-Mastering, Ultra (20 Mhz) Wide (16-bittransfer) SCSI Host Adapters for the PCI bus.
- Device driver for ConnectCom Solutions, Inc. (former AdvanSys) SCSI adapters based on ASC3050 controller Supported Devices. ABP3922, ABP3925 ABP3980UA, ABP3950UW, ABP3950U2W ASB3940UA ASB3940UW ASB3940U2W BASEDEV=ASC.ADD Parameter /L LUN detection /V verbose.
- . advansys.c - Linux Host Driver for AdvanSys SCSI Adapters. On June 18, 2001 Initio Corp. Acquired ConnectCom's SCSI assets./ # include.
The CDB counts below indicate the number of SCSI CDB (CommandDescriptor Block) requests that can be stored in the RISC chipcache and board LRAM. A CDB is a single SCSI command. The driverdetect routine will display the number of CDBs available for eachadapter detected. The number of CDBs used by the driver can belowered in the BIOS by changing the ‘Host Queue Size’ adapter setting.
- ABP-480 - Bus-Master CardBus (16 CDB)
- ABP510/5150 - Bus-Master ISA (240 CDB)
- ABP5140 - Bus-Master ISA PnP (16 CDB)
- ABP5142 - Bus-Master ISA PnP with floppy (16 CDB)
- ABP902/3902 - Bus-Master PCI (16 CDB)
- ABP3905 - Bus-Master PCI (16 CDB)
- ABP915 - Bus-Master PCI (16 CDB)
- ABP920 - Bus-Master PCI (16 CDB)
- ABP3922 - Bus-Master PCI (16 CDB)
- ABP3925 - Bus-Master PCI (16 CDB)
- ABP930 - Bus-Master PCI (16 CDB)
- ABP930U - Bus-Master PCI Ultra (16 CDB)
- ABP930UA - Bus-Master PCI Ultra (16 CDB)
- ABP960 - Bus-Master PCI MAC/PC (16 CDB)
- ABP960U - Bus-Master PCI MAC/PC Ultra (16 CDB)
- ABP542 - Bus-Master ISA with floppy (240 CDB)
- ABP742 - Bus-Master EISA (240 CDB)
- ABP842 - Bus-Master VL (240 CDB)
- ABP940 - Bus-Master PCI (240 CDB)
- ABP940U - Bus-Master PCI Ultra (240 CDB)
- ABP940UA/3940UA - Bus-Master PCI Ultra (240 CDB)
- ABP970 - Bus-Master PCI MAC/PC (240 CDB)
- ABP970U - Bus-Master PCI MAC/PC Ultra (240 CDB)
- ABP3960UA - Bus-Master PCI MAC/PC Ultra (240 CDB)
- ABP940UW/3940UW - Bus-Master PCI Ultra-Wide (253 CDB)
- ABP970UW - Bus-Master PCI MAC/PC Ultra-Wide (253 CDB)
- ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB)
- ABP752 - Dual Channel Bus-Master EISA (240 CDB Per Channel)
- ABP852 - Dual Channel Bus-Master VL (240 CDB Per Channel)
- ABP950 - Dual Channel Bus-Master PCI (240 CDB Per Channel)
- ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB Per Channel)
- ABP980 - Four Channel Bus-Master PCI (240 CDB Per Channel)
- ABP980U - Four Channel Bus-Master PCI Ultra (240 CDB Per Channel)
- ABP980UA/3980UA - Four Channel Bus-Master PCI Ultra (16 CDB Per Chan.)
- ABP3950U2W - Bus-Master PCI LVD/Ultra2-Wide and Ultra-Wide (253 CDB)
- ABP3950U3W - Bus-Master PCI Dual LVD2/Ultra3-Wide (253 CDB)
Driver Compile Time Options and Debugging¶
The following constants can be defined in the source file.
ADVANSYS_ASSERT - Enable driver assertions (Def: Enabled)
Enabling this option adds assertion logic statements to thedriver. If an assertion fails a message will be displayed tothe console, but the system will continue to operate. Anyassertions encountered should be reported to the personresponsible for the driver. Assertion statements may proactivelydetect problems with the driver and facilitate fixing theseproblems. Enabling assertions will add a small overhead to theexecution of the driver.
ADVANSYS_DEBUG - Enable driver debugging (Def: Disabled)
Enabling this option adds tracing functions to the driver and theability to set a driver tracing level at boot time. This option isvery useful for debugging the driver, but it will add to the sizeof the driver execution image and add overhead to the execution ofthe driver.
The amount of debugging output can be controlled with the globalvariable ‘asc_dbglvl’. The higher the number the more output. Bydefault the debug level is 0.
If the driver is loaded at boot time and the LILO Driver Optionis included in the system, the debug level can be changed byspecifying a 5th (ASC_NUM_IOPORT_PROBE + 1) I/O Port. Thefirst three hex digits of the pseudo I/O Port must be set to‘deb’ and the fourth hex digit specifies the debug level: 0 - F.The following command line will look for an adapter at 0x330and set the debug level to 2:
If the driver is built as a loadable module this variable can bedefined when the driver is loaded. The following insmod commandwill set the debug level to one:
Debugging Message Levels:
0 Errors Only 1 High-Level Tracing 2-N Verbose Tracing To enable debug output to console, please make sure that:
System and kernel logging is enabled (syslogd, klogd running).
Kernel messages are routed to console output. Check/etc/syslog.conf for an entry similar to this:
klogd is started with the appropriate -c parameter(e.g. klogd -c 8)
This will cause
printk()
messages to be displayed on thecurrent console. Refer to the klogd(8) and syslogd(8) man pagesfor details.Alternatively you can enable
printk()
to console with thisprogram. However, this is not the ‘official’ way to do this.Debug output is logged in /var/log/messages.
Increasing LOG_BUF_LEN in kernel/printk.c to something like40960 allows more debug messages to be buffered in the kerneland written to the console or log file.
ADVANSYS_STATS - Enable statistics (Def: Enabled)
Enabling this option adds statistics collection and displaythrough /proc to the driver. The information is useful formonitoring driver and device performance. It will add to thesize of the driver execution image and add minor overhead tothe execution of the driver.
Statistics are maintained on a per adapter basis. Driver entrypoint call counts and transfer size counts are maintained.Statistics are only available for kernels greater than or equalto v1.3.0 with the CONFIG_PROC_FS (/proc) file system configured.
AdvanSys SCSI adapter files have the following path name format:
This information can be displayed with cat. For example:
When ADVANSYS_STATS is not defined the AdvanSys /proc files onlycontain adapter and device configuration information.
Driver LILO Option¶
If init/main.c is modified as described in the ‘Directions for Addingthe AdvanSys Driver to Linux’ section (B.4.) above, the driver willrecognize the ‘advansys’ LILO command line and /etc/lilo.conf option.This option can be used to either disable I/O port scanning or to limitscanning to 1 - 4 I/O ports. Regardless of the option setting EISA andPCI boards will still be searched for and detected. This option onlyaffects searching for ISA and VL boards.
Eliminate I/O port scanning:
boot:
or:
Limit I/O port scanning to one I/O port:
boot:
Limit I/O port scanning to four I/O ports:
boot:
For a loadable module the same effect can be achieved by settingthe ‘asc_iopflag’ variable and ‘asc_ioport’ array when loadingthe driver, e.g.:
If ADVANSYS_DEBUG is defined a 5th (ASC_NUM_IOPORT_PROBE + 1)I/O Port may be added to specify the driver debug level. Refer tothe ‘Driver Compile Time Options and Debugging’ section above formore information.
Credits (Chronological Order)¶
Bob Frey <bfrey@turbolinux.com.cn> wrote the AdvanSys SCSI driverand maintained it up to 3.3F. He continues to answer questionsand help maintain the driver.
Nathan Hartwell <mage@cdc3.cdc.net> provided the directions andbasis for the Linux v1.3.X changes which were included in the1.2 release.
Thomas E Zerucha <zerucha@shell.portal.com> pointed out a bugin advansys_biosparam() which was fixed in the 1.3 release.
Erik Ratcliffe <erik@caldera.com> has done testing of theAdvanSys driver in the Caldera releases.
Rik van Riel <H.H.vanRiel@fys.ruu.nl> provided a patch toAscWaitTixISRDone() which he found necessary to make thedriver work with a SCSI-1 disk.
Mark Moran <mmoran@mmoran.com> has helped test Ultra-Widesupport in the 3.1A driver.
Doug Gilbert <dgilbert@interlog.com> has made changes andsuggestions to improve the driver and done a lot of testing.
Ken Mort <ken@mort.net> reported a DEBUG compile bug fixedin 3.2K.
Tom Rini <trini@kernel.crashing.org> provided the CONFIG_ISApatch and helped with PowerPC wide and narrow board support.
Philip Blundell <philb@gnu.org> provided anadvansys_interrupts_enabled patch.
Dave Jones <dave@denial.force9.co.uk> reported the compilerwarnings generated when CONFIG_PROC_FS was not defined inthe 3.2M driver.
Jerry Quinn <jlquinn@us.ibm.com> fixed PowerPC support (endianproblems) for wide cards.
Bryan Henderson <bryanh@giraffe-data.com> helped debug narrowcard error handling.
Manuel Veloso <veloso@pobox.com> worked hard on PowerPC narrowboard support and fixed a bug in AscGetEEPConfig().
Arnaldo Carvalho de Melo <acme@conectiva.com.br> madesave_flags/restore_flags changes.
Andy Kellner <AKellner@connectcom.net> continued the Advansys SCSIdriver development for ConnectCom (Version > 3.3F).
Ken Witherow for extensive testing during the development of version 3.4.
![Drivers Connectcom SCSI & RAID Devices Drivers Connectcom SCSI & RAID Devices](https://static.nix.ru/autocatalog/acer/acer_notebook/82340_2302_draft_large.jpg)
Summary
- Microsoft-provided in-box UCSI driver for a USB Type-C system with an embedded controller.
Last Updated
- October 2018
Windows version
- Windows 10 for desktop editions (Home, Pro, Enterprise, and Education)
- Windows 10 Mobile
Official specifications
Microsoft provides a USB Type-C Connector System Software Interface (UCSI) Specification-compliant driver for ACPI transport. If your design includes an embedded controller with ACPI transport, implement UCSI in your system's BIOS/EC and load the in-box UCSI driver (UcmUcsiCx.sys and UcmUcsiAcpiClient.sys).
If your UCSI-compliant hardware uses a transport other than ACPI, you need to write a UCSI client driver.
Drivers for supporting USB Type-C components for systems with embedded controllers
Here is an example of a system with an embedded controller.
In the preceding example, USB role switching is handled in the firmware of the system and USB Role Switch driver stack is not loaded. In another system, the driver stack may not get loaded because dual role is not supported.
In the preceding image,
USB device-side drivers
The USB device-side drivers service the function/device/peripheral. The USB function controller class extension supports MTP (Media Transfer Protocol) and charging using BC 1.2 chargers. Microsoft provides in-box client drivers for Synopsys USB 3.0 and ChipIdea USB 2.0 controllers. You can write a custom client driver for your function controller by using USB function controller client driver programming interfaces. For more information, see Developing Windows drivers for USB function controllers.
The SoC vendor might provide you with the USB function lower filter driver for charger detection. You can implement your own filter driver if you are using the in-box Synopsys USB 3.0 or ChipIdea USB 2.0 client driver.
USB host-side drivers
The USB host-side drivers are a set of drivers that work with EHCI or XHCI compliant USB host controllers. The drivers are loaded if the role-switch driver enumerates the host role. If your host controller is not specification-compliant, then you can write a custom driver by using USB host controller extension (UCX) programming interface. For information, see Developing Windows drivers for USB host controllers.
Note Not all USB devices classes are supported on Windows 10 Mobile.
USB connector manager
Microsoft provides a UCSI in-box driver with Windows (UcmUcsiCx.sys) that implements the features defined in the USB Type-C Connector System Software Interface Specification. The specification describes the capabilities of UCSI and explains the registers and data structures, for hardware component designers, system builders, and device driver developers.
This driver is intended for systems with embedded controllers. This driver is a client to the Microsoft-provided USB connector manager class extension driver (Ucmcx.sys). The driver handles tasks such as initiating a request to the firmware to change the data or power roles and getting information needed to provide troubleshooting messages to the user.
UCSI commands required by Windows
![Raid Raid](https://www.nodevice.com/static/device_images/o/fba/875/fba87579949d35e7643f5e808a2713ba2b1e627f.png)
See the UCSI specification for commands that are 'Required' in all UCSI implementations.
In addition to the commands marked as 'Required', Windows requires these commands:
- GET_ALTERNATE_MODES
- GET_CAM_SUPPORTED
- GET_PDOS
- SET_NOTIFICATION_ENABLE: The system or controller must support the following notifications within SET_NOTIFICATION_ENABLE:
- Supported Provider Capabilities Change
- Negotiated Power Level Change
- GET_CONNECTOR_STATUS: The system or controller must support these connector status changes within GET_CONNECTOR_STATUS:
- Supported Provider Capabilities Change
- Negotiated Power Level Change
Drivers Connectcom Scsi & Raid Devices List
For information about the tasks required to implement UCSI in the BIOS, see Intel BIOS Implementation of UCSI.
Example flow for UCSI
The examples given in this section describe interaction between the USB Type-C hardware/firmware, UCSI driver, and the operating system.
DRP role detection
Drivers Connectcom Scsi & Raid Devices Download
- USB Type-C hardware/firmware detects a device-attach event and the Windows 10 system DRP system initially becomes the UFP role.
- The firmware sends a notification indicating a change in the connector.
- The UCSI driver sends a GET_CONNECTOR_STATUS request.
- The firmware responds that its Connect Status = 1 and Connector Partner Type = DFP.
- The drivers in the USB function stack responds to the enumeration.
- The USB connector manager class extension recognizes that the USB function stack has loaded and hence the system is in the wrong state. It tells the UCSI driver to send Set USB Operation Role and Set Power Direction Role requests to the firmware.
- USB Type-C hardware/firmware initiates the role-swap operation with the DFP.
Detecting a charger mismatch error condition
USB Type-C hardware/firmware detects that a charger is connected and negotiates a default power contract. It also observes that the charger is not providing sufficient power to the system.
USB Type-C hardware/firmware sets the slow charging bit.
- The firmware sends a notification indicating a change in the connector.
- The UCSI driver sends a GET_CONNECTOR_STATUS request.
- The firmware responds with Connect Status = 1, Connector Partner Type=DFP, and Battery Charging Status = Slow/Trickle.
The USB connector manager class extension sends notification to the UI to display the charger mismatch troubleshoot message.
How to test UCSI
There are a number of ways to test your UCSI implementation. To test individual commands in your UCSI BIOS/EC implementation, use UCSIControl.exe, which is provided in the MUTT Software Pack. To test your complete UCSI implementation, use both the UCSI tests that can be found in the Windows Hardware Lab Kit (HLK) and the steps in the Type-C Manual Interop Procedures.
UCSIControl.exe
You can test individual commands in your UCSI BIOS/EC implementation by using UCSIControl.exe. This tool enables you to send UCSI commands to the firmware through the UCSI driver. It requires the driver to be loaded and running, and also have the test interface to the driver enabled. By default, this interface is not enabled so as to prevent it from being accessible to unauthorized users on a retail system.
Locate the device node in Device Manager (devmgmt.msc) named UCSI USB Connector Manager. The node is under the Universal Serial Bus controllers category.
Select and hold (or right-click) on the device, and select Properties and open the Details tab.
Select Device Instance Path from the drop-down and note the property value.
Open Registry Editor (regedit.exe).
Navigate to the device instance path under this key.
HKEY_LOCAL_MACHINESystemCurrentControlSetEnum<device-instance-path>Device Parameters
Create a DWORD value named TestInterfaceEnabled and set the value to 0x1.
Restart the device by selecting the Disable option on the device node in Device Manager, and then selecting Enable. Alternatively, you can simply restart the PC.
You can view the help by running UcsiControl.exe /?.
Here are the common commands:
UCSI command | UcsiControl.exe command |
---|---|
PPM Reset | UcsiControl.exe Send 0 1 |
Connector Reset | Soft reset: UcsiControl.exe Send 0 10003 Hard reset: UcsiControl.exe Send 0 810003 |
Set Notification Enable | All notifications: UcsiControl.exe Send 0 ffff0005 Only command completion: UcsiControl.exe Send 0 00010005 No notification: UcsiControl.exe Send 0 00000005 |
Get Capability | UcsiControl.exe Send 0 6 |
Get Connector Capability | UcsiControl.exe Send 0 10007 |
Set UOM | DFP: UcsiControl.exe Send 0 810008 UFP: UcsiControl.exe Send 0 1010008 DRP: UcsiControl.exe Send 0 2010008 |
Set UOR | DFP: UcsiControl.exe Send 0 810009 UFP: UcsiControl.exe Send 0 1010009 Accept: UcsiControl.exe Send 0 2010009 |
Set PDR | Provider: UcsiControl.exe Send 0 81000B Consumer: UcsiControl.exe Send 0 101000B Accept: UcsiControl.exe Send 0 201000B |
Get PDOs | Local Source: UcsiControl.exe Send 7 00010010 Local Sink: UcsiControl.exe Send 3 00010010 Remote Source: UcsiControl.exe Send 7 00810010 Remote Sink: UcsiControl.exe Send 3 00810010 |
Get Connector Status | UcsiControl.exe Send 0 010012 |
Get Error Status | UcsiControl.exe Send 0 13 |
Drivers Connectcom Scsi & Raid Devices Usb
Related topics
![](https://cdn-ak.f.st-hatena.com/images/fotolife/r/ruriatunifoefec/20200910/20200910011354.png)