Quirks required to remove 6 minute CAM status: CCB error with ZTE-MF730M

Philip Guyton phil.lxnet at gmail.com
Mon Jun 9 18:18:51 UTC 2014


There is a 6 minute delay when booting with ZTE-MF730M inserted or when
inserting in to pfsense 2.1.3 (FreeBSD 8.3) & pfsense 2.2 (FreeBSD 10).
With a clean vanilla FreeBSD install there is no boot hold-up but the delay
in device recognition / usability is the same and the log entries still
occur only spread out over the boot.

no firewire on this machine.

uname -a
FreeBSD pfsensea.lan 10.0-STABLE FreeBSD 10.0-STABLE #0
35d2d8e(HEAD)-dirty: Tue Apr  8 21:02:38 CDT 2014
root at builder-10-0-b3-i386:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.10
 i386

dmesg | head -n 17
Copyright (c) 1992-2014 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-STABLE #0 35d2d8e(HEAD)-dirty: Tue Apr  8 21:02:38 CDT 2014
    root at builder-10-0-b3-i386:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.10
i386
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
CPU: Intel(R) Celeron(R) M processor         1.40GHz (1400.08-MHz 686-class
CPU)
  Origin = "GenuineIntel"  Id = 0x6d8  Family = 0x6  Model = 0xd  Stepping
= 8

Features=0xafe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE>
  AMD Features=0x100000<NX>
real memory  = 2147483648 (2048 MB)
avail memory = 2041737216 (1947 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <PTLTD          APIC  >
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 1.1> irqs 0-23 on motherboard

During Bootup or insertion (6 min delay)
usb_alloc_device: Found possible auto-install disk (trying next config)
ugen2.2: <ZTE,Incorporated> at usbus2
umass0: <Mass Storage> on usbus2
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0: Get Max Lun not supported (USB_ERR_STALLED)
umass0:2:0:-1: Attached to scbus2
ugen1.2: <FTDI> at usbus1
uftdi0: <USB HS SERIAL CONVERTER> on usbus1
run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
(probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
(probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:0): Retrying command
.
..repeating
.
run_interrupt_driven_hooks: still waiting after 300 seconds for xpt_config
(probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
(probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:0): Error 5, Retries exhausted

then continues booting normally.


I have found that the following Quirks avoid the above errors and render
the ZTE-MF730M DC-HSDPA 42Mbps 3G dongle usable via if_cdce.ko once it has
been mode switched.

usbconfig add_dev_quirk_vplh 0x19d2 0x1420 0xf0f7 0xf0f7 UQ_MSC_NO_GETMAXLUN
usbconfig add_dev_quirk_vplh 0x19d2 0x1420 0xf0f7 0xf0f7 UQ_MSC_NO_INQUIRY

It can be mode switched to cdce mode and used successfully by executing:-

usbconfig dump_all_config_desc
usbconfig dump_all_config_desc
usbconfig dump_all_config_desc

Is there any way I can add these quirks to be effective during boot to
avoid this 6 minute boot delay.
Thank you for your attention and I hope this tiny find helps someone.

Please let me know if there is any other information I can provide or
testing that I can do to get this dongle working properly in FreeBSD.


More information about the freebsd-usb mailing list