Issue with configuring multifunction card in Acer Aspire laptop.

Komuro komurojun-mbn at nifty.com
Sat May 20 01:59:11 EDT 2006


Hello,

The USB client driver should allocate both usb io-port and serial io-port.
So you should set io.BasePort2, io.NumPort2, io.Attributes2
at the USB client driver.

The serial_cs gets the io-port by pcmcia_get_configuration_info.

Please see the smc91c92_cs.c driver for reference.


Best Regards
Komuro


>
>Hi all,
>
>We are writing a PCMCIA client driver for USB function of a
>multifunction PCMCIA card.
>We are facing an issue in configuring both of the functions of the card.
>
>The card hosts a serial function (function 0) and a USB function
>(function 1).
>The serial function is driven by standard serial_cs.
>The dump_cis information of the card shows:
>
>Socket 0:
>  dev_info
>    SRAM 200ns, 2kb
>  attr_dev_info
>    ROM 200ns, 512b
>    fn_specific 200ns, 512b
>  mfc {
>    manfid 0xABCD, 0xABCD
>    vers_1 6.1, "CF CARD", "GENERIC", "", ""
>    funcid serial_port [post]
>    serial_interface
>      uart 16550 [space/mark/odd/even] [5/6/7/8] [1/1.5/2]
>    config base 0x0200 mask 0x006f last_index 0x07
>    cftable_entry 0x07 [default]
>      [rdybsy]
>      Vcc Vnom 3300mV
>      io 0x0000-0x000f [lines=4] [8bit]
>      irq mask 0xffff [level] [shared]
>  }, {
>    funcid unknown
>    config base 0x0300 mask 0x006f last_index 0x07
>    cftable_entry 0x07 [default]
>      [rdybsy]
>      Vcc Vnom 3300mV
>      io 0x0000-0x003f [lines=6] [8bit]
>      irq mask 0xffff [level] [shared]
>      memory 0x0000-0x07ff @ 0x0000
>  }
>
>
>The USB client driver is working properly when we don't insert the
>serial_cs module.
>That is, when the serial function is not configured then the USB client
>driver is configuring the USB function perfectly.
>But we are facing problem when we insert both the modules and try to
>configure both the functions simultaneously.
>In that case we are getting following messages from dmesg:
>
>yenta_socket: yenta_set_mem_map
>pcmcia: registering new device pcmcia0.0
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>serial_attach()
>serial_event(0x000004)
>serial_config(0xc8791600)
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>serial_multi_config(0xc8791600)
>serial_multi_config(0xc8791600) inside 1st while
>serial_multi_config(0xc8791600) inside 1st if
>i = 0x0 [This is the return value from pcmcia_request_io]
>serial_multi_config(0xc8791600) inside 2nd if
>yenta_socket: yenta_set_socket
>yenta_socket: yenta_set_power
>yenta_socket: yenta_set_socket
>yenta_socket: yenta_set_power
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_io_map
>ttyS4: detected caps 00000700 should be 00000100
>0.0: ttyS4 at I/O 0x100 (irq = 6) is a 16C950/954
>pcmcia: registering new device pcmcia0.1
>yenta_socket: yenta_set_mem_map
>USB-HCD_cs: USB-HCD_cs_attach: Attach entry point starts
>USB-HCD_cs: USB-HCD_cs_event: event for (0xc727c080)
>USB-HCD_cs: USB-HCD_cs_config: config starting for (0xc727c080)
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>yenta_socket: yenta_set_mem_map
>USB-HCD_cs: USB-HCD_cs_config: configuration failed
>0.1: GetNextTuple: No more items
>USB-HCD_cs: USB-HCD_cs_release(0xc727c080)
>USB-HCD_cs: USB-HCD_cs_release: configuration can not be released
>USB-HCD_cs: USB-HCD_cs_release: io window can not be released
>USB-HCD_cs: USB-HCD_cs_release: release successful
>USB-HCD_cs: USB-HCD_cs_event: event successfully handled for
>(0xc727c080)
>USB-HCD_cs: USB-HCD_cs_attach: successfully completed
>ds: ds_open(socket 0)
>pcmcia: Detected deprecated PCMCIA ioctl usage.
>pcmcia: This interface will soon be removed from the kernel; please
>expect breakage unless you upgrade to new tools.
>pcmcia: see
>http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for
>details.
>ds: ds_release(socket 0)
>ds: ds_open(socket 0)
>ds: ds_release(socket 0)
>
>On further study, we had found out this is failing in the function
>alloc_io_space(), where it checks for most obvious conflicts.
>Also we are getting following output from cat /proc/ioports:
>
>0000-001f : dma1
>0020-0021 : pic1
>0040-0043 : timer0
>0050-0053 : timer1
>0060-006f : keyboard
>0070-0077 : rtc
>0080-008f : dma page reg
>00a0-00a1 : pic2
>00c0-00df : dma2
>00f0-00ff : fpu
>0100-010f : pcmcia_socket0
>  0100-0107 : serial
>0170-0177 : ide1
>01f0-01f7 : ide0
>0376-0376 : ide1
>03c0-03df : vga+
>03f6-03f6 : ide0
>04d0-04d1 : pnp 00:03
>0cf8-0cff : PCI conf1
>1000-10ff : 0000:00:02.6
>  1000-10ff : SiS SI7013 Modem
>1400-14ff : 0000:00:02.7
>  1400-14ff : SiS SI7012
>1800-18ff : 0000:00:04.0
>  1800-18ff : sis900
>1c00-1c7f : 0000:00:02.6
>  1c00-1c7f : SiS SI7013 Modem
>1c80-1cff : 0000:00:02.7
>  1c80-1cff : SiS SI7012
>2000-200f : 0000:00:02.5
>  2000-2007 : ide0
>  2008-200f : ide1
>2400-24ff : PCI CardBus #02
>2800-28ff : PCI CardBus #02
>8000-807f : motherboard
>  8000-8003 : PM1a_EVT_BLK
>  8004-8005 : PM1a_CNT_BLK
>  8008-800b : PM_TMR
>  8010-8015 : ACPI CPU throttle
>  8016-8016 : PM2_CNT_BLK
>  8020-8023 : GPE0_BLK
>  8030-8033 : GPE1_BLK
>8080-80ff : motherboard
>  8080-80ff : pnp 00:03
>8100-811f : 0000:00:02.1
>  8100-811f : motherboard
>    8100-811f : pnp 00:03
>      8100-811f : sis96x_smbus
>a000-afff : PCI Bus #01
>  a000-a07f : 0000:01:00.0
>
>The system we are testing on is Acer Aspire 3003LC running Linux Kernel
>2.6.15.4, downloaded from kernel.org
>We are using PCMCIAUTILS-013.
>The /etc/pcmcia/config.opts file reads as:
>
>#
># Local PCMCIA Configuration File
>#
>#----------------------------------------------------------------------
>#
># System resources available for PCMCIA cards
>#
># NOTE: these settings have no effect on resources assigned to a
># CardBus bridge device itself; this file only affects resources
># assigned to cards.  Also, interrupt settings here will only affect
># ISA bus interrupts assigned to 16-bit cards.  PCI interrupts
># generally can't be reconfigured.
>#
># With the kernel PCMCIA subsystem, these settings also have no effect
># at all on resources used for 32-bit CardBus cards.  Those are set by
># the PCI hotplug subsystem.
>#
>
>include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
>include memory 0xc0000-0xfffff
>include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
>
># High port numbers do not always work...
>include port 0x1000-0x17ff
>
># Extra port range for IBM Token Ring
>#include port 0xa00-0xaff
>
># Resources we should not use, even if they appear to be available
>
># First built-in serial port
>exclude irq 4
># Second built-in serial port
>#exclude irq 3
># First built-in parallel port
>exclude irq 7
># PS/2 Mouse controller port, comment this out if you don't have a PS/2
># based mouse
>exclude irq 12
># SB emulation ports
>exclude port 0x220-0x22f
># Radeon IGP MCE's if you touch ports 3b0->3bb & 3d3
>exclude port 0x3b0-0x3bb
>exclude port 0x3d3-0x3d3
>
>#----------------------------------------------------------------------
>
># Examples of options for loadable modules
>
># To fix sluggish network with IBM ethernet adapter...
>#module "pcnet_cs" opts "mem_speed=600"
>
># Options for IBM Token Ring adapters
>#module "ibmtr_cs" opts "mmiobase=0xd0000 srambase=0xd4000"
>
># Options for Raylink/WebGear driver: uncomment only one line...
># Generic ad-hoc network
>module "ray_cs" opts "essid=ADHOC_ESSID hop_dwell=128 beacon_period=256
>translate=1"
># Infrastructure network for older cards
>#module "ray_cs" opts "net_type=1 essid=ESSID1"
># Infrastructure network for WebGear
>#module "ray_cs" opts "net_type=1 essid=ESSID1 translate=1 hop_dwell=128
>beacon_period=256"
>
># Options for WaveLAN/IEEE driver (AccessPoint mode)...
>#module "wvlan_cs" opts "station_name=MY_PC"
># Options for WaveLAN/IEEE driver (ad-hoc mode)...
>#module "wvlan_cs" opts "port_type=3 channel=1 station_name=MY_PC"
>
># Options for Xircom Netwave driver...
>#module "netwave_cs" opts "domain=0x100 scramble_key=0x0"
>
>
>
>Looking forward to your suggestions.
>Thanks in advance,
>
>With Regards,
>Kaustav Majumdar
>
>
>The information contained in this electronic message and any attachments to t
his message are intended for the exclusive use of the addressee(s) and may con
tain proprietary, confidential or privileged information. If you are not the i
ntended recipient, you should not disseminate, distribute or copy this e-mail.
 Please notify the sender immediately and destroy all copies of this message a
nd any attachments.
>
>
>WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this em
ail.
>
>
>www.wipro.com
>
>_______________________________________________
>Linux PCMCIA reimplementation list
>http://lists.infradead.org/mailman/listinfo/linux-pcmcia




More information about the linux-pcmcia mailing list