![]() |
|
||||||
|
|
||||||
LINUX SUPPORTLinux support for USB2PCMCIA and USB2ISA families of products1. IntroductionWe realize the increasing popularity and support of the Linux operating system and have created and are starting to provide software support for our USB2ISA family of products and USB2PCMCIA product under Linux operating system.The software support contains of core install binaries and the developer's support files. We are provide a basic API (application programming interface) set for developers allowing building of applications which can access i/o ports and physical memory areas. An additional api set is available in our SDKBUS kit allowing - The majority of the software running under Linux is open source and many of it's user's are actual developers and professional programmers. We have geared our Linux product release specifically for developers and programmers, who can take the source code of a specific ISA or PCMCIA card and make it working with USB2ISA / USB2PCMCIA . 2. Where is the source code?We have developed an independent USB2 host and device support. Originally developed under Windows operating systems we have ported it to work under Linux operating system. We plan to provide support for the BSD family as well.We do not share our source code with developers or users - it is our company proprietary and confidential code. We are providing instead an easy to use interface to our products, together with samples. Most of the present day Linux kernels contain USB2 EHCI host support. Our USB2 host support can co-exist with the built in Linux USB2 host support. If needed, you can add an USB2 host controller - as a PCI card to a desktop computer, or a PCMCIA card to a notebook computer, and use this controller specifically for the USB2ISA family of products and USB2PCMCIA product. 3. Core binaries useOur core binaries contain 1 driver - 'arstech.o', and one application - arsenum. The binaries have been built and tested for 32bit / i386 type processors - including the 32bit families of - Intel, AMD , VIA , Transmeta ... and compatible processors . The majority of the today's computer systems include one of the above processors.We can build and provide releases for other types of processors as well - like 64bit Intel, 64bit AMD, IBM PowerPC ... processors. 3.1 loading our driver -There is a little script file that helps with loading of the driver - arsinit.bat. Please run it from a command line like -./arsinit.bat The Linux kernel needs to be built in a way that it allows loading of kernel modules. If the kernel does not allow this there will be a message - 'unable to create_module' or similar. You will need to change the kernel or use another system, which kernel allows loading of modules. The driver has been built under 2.4.26 kernel and it should load fine on later kernels. There is a 'scary' message coming when loading, because the driver has been built as - Proprietary. We are respecting the integrity of the kernel and the rest of the operating system. 3.2. ARS Technologies enumeratorYou can load the enumerator on command line as -./arsenum The program scans and reports the computer system's i/o and memory spaces. When first run the program shows the number of USB2 EHCI hosts found, and if there are more than one asks for a selection of which one will be used with our USB2ISA / USB2PCMCIA products. The selection is stored and the next time the program is run, there is no selection prompt. To select another host - choose 'd' on the main command selection, re-run the program and make another selection. When an USB2ISA / USB2PCMCIA product is connected / disconnected there is text messages. When inserted, the enumerator reports the type of the card - USB2ISA or USB2PCMCIA, the usb port where it was connected. A scanning of the hardware resources is performed and the found i/o ports, and physical memory areas are reported. The scanning of the hardware resources is not ideal, and some hidden ports / memory areas may not be recognized or reported. The main command prompt of the enumerator contains a selection of commands for manual read/write of i/o & physical memory spaces. Please use for an initial check / test of the ISA / PCMCIA cards. 4. Developer's support4.1 Basic API setHere is the commands list:!!! Note1: In order to read/write meaningful values , the ARSTech enumerator should be running , the USB2ISA / USB2PCMCIA card needs to be connected and recognized by the enumerator , and the mounted ISA / PCMCIA card need to actually have the i/o port or the physical memory area being accessed. !!! Note2: The calling convention of the api set is different that the Linux - outb/outw, writeb/writew commands. The first parameter in our api set is the address of the port or physical memory, compared to Linux where the address is the second parameter. Please replace as for ex. - #define outb(a, b) out8(b, a) !!! Note3: An additional API set is available in our SDKBUS kit allowing the additional possibilities of - for ISA cards mounted on our USB2ISA family of products and PCMCIA card mounted on the USB2PCMCIA product. 4.2 Sample for using our API setThere is a sample - sample.c , showing reading of sector 1 - partition table of a hard disk , connected to an ISA I/O card mounted on USB2ISA - the type that has one floppy , one ide controllers , 2 serial and one parallel ports . The disk needs to be connected and powered on.In addition the ARSTech enumerator should be running, the USB2ISA / USB2PCMCIA card needs to be connected and recognized by the enumerator , and the mounted ISA / PCMCIA card need to actually have the i/o port or the physical memory area being accessed. To build the sample you can run the script file - ./mk.bat The api set is obtained from our archive (or static library) file - libars1.a. You will need to link with this archive for every new project you are building. |
Copyright © 2008 ARS Technologies, Inc All Rights Reserved Customer Login - Order Tracking - View Cart - Advanced Search - ARS Tech Product Update List - Warranty/Refund Policy - Privacy Policy - Terms of Use - Contact Us - SiteMap |