1. 05 12月, 2014 28 次提交
  2. 04 12月, 2014 8 次提交
    • M
      Bluetooth: Split triggering of discovery commands into separate function · 8019044d
      Marcel Holtmann 提交于
      The actual process of compiling the correct HCI commands for triggering
      discovery is something that should be generic. So instead of mixing it
      into the Start Discover operation handling, split it out into its own
      function utilizing HCI request handling and just providing status in
      case of errors or invalid parameters.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      8019044d
    • M
      Bluetooth: Use {start,stop}_discovery_complete handler for cmd_complete · 11e6e25d
      Marcel Holtmann 提交于
      Sending the required cmd_complete for the management commands should be
      done in one place and not in multiple places. Especially for Start and
      Stop Discovery commands this is split into to sending it in case of
      failure from the complete handler, but in case of success from the
      event state update function triggering mgmt_discovering. This is way
      too convoluted and since hci_request serializes the HCI command
      processing, send the cmd_complete response from the complete handler
      for all cases.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      11e6e25d
    • M
      Bluetooth: Simplify the error handling of Start Discovery command · f5a969f2
      Marcel Holtmann 提交于
      The Start Discovery command has some complicated code when it comes
      to error handling. With the future introduction of Start Service
      Discovery simplifying this makes it easier to read.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      f5a969f2
    • M
      Bluetooth: Increment management interface revision · 854bda19
      Marcel Holtmann 提交于
      This patch increments the management interface revision due to the
      addition of support for LE Secure Connection feature.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      854bda19
    • M
      Bluetooth: Increase minor version of core module · 8ab9731d
      Marcel Holtmann 提交于
      With the addition of support for Bluetooth Low Energy Secure Connections
      feature, it makes sense to increase the minor version of the Bluetooth
      core module.
      
      The module version is not used anywhere, but it gives a nice extra
      hint for debugging purposes.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      8ab9731d
    • H
      Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download · 6029ddc2
      Heinrich Siebmanns 提交于
      This requires the flag BTUSB_BCM_PATCHRAM to work.
      
      Relevant details from /sys/kernel/debug/usb/devices for my device:
      
      T:  Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=12   MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0489 ProdID=e031 Rev= 1.12
      S:  Manufacturer=Broadcom Corp
      S:  Product=BCM20702A0
      S:  SerialNumber=3859F9CD2AEE
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      
      The firmware was extracted from a Windows 7 32-bit installation
      and converted from 'hex' to 'hcd' for use in Linux.
      
      The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
      and is located in "%SYSTEMROOT%\system32\drivers\"
      (md5 d126e6c4e0e669d76c38cf9377f76b7f)
      (sha1 145d1850b2785a953233b409e7ff77786927c7d2)
      
      The firmware file is also available as a download at
      http://support.ts.fujitsu.com/Download/
      contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"
      
      Search for the file Win32/bcbtums-win7x86-brcm.inf in the archive,
      look for the vendor and product ID of your adapter, see the section
      'devices' in that file to find out what device name it uses. See
      the device entry in the inf file (in my case it was 'RAMUSBE031')
      to find out which hex file you need to convert to hcd for upload
      
      'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
      inside the firmware directory (e.g. "/lib/firmware")
      Signed-off-by: NHeinrich Siebmanns <harv@gmx.de>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      6029ddc2
    • X
      Bluetooth: btmrvl add firmware dump support · dc759613
      Xinming Hu 提交于
      This patch adds firmware dump support for marvell
      bluetooth chipset. Currently only SD8897 is supported.
      This is implemented based on dev_coredump, a new mechnism
      introduced in kernel 3.18rc3
      
      Firmware dump can be trigger by
      echo 1 > /sys/kernel/debug/bluetooth/hci*/config/fw_dump
      and when the dump operation is completed, data can be read by
      cat /sys/class/devcoredump/devcd*/data
      
      We have prepared following script to divide fw memory
      dump data into multiple files based on memory type.
      
       [root]# cat btmrvl_split_dump_data.sh
       #!/bin/bash
       # usage: ./btmrvl_split_dump_data.sh dump_data
      
       fw_dump_data=$1
      
       mem_type="ITCM DTCM SQRAM APU CIU ICU MAC EXT7 EXT8 EXT9 EXT10 EXT11 EXT12 EXT13 EXTLAST"
      
       for name in ${mem_type[@]}
       do
               sed -n "/Start dump $name/,/End dump/p" $fw_dump_data  > tmp.$name.log
               if [ ! -s tmp.$name.log ]
                       then
                               rm -rf tmp.$name.log
                       else
                               # Remove the describle info "Start dump" and "End dump"
                               sed '1d' tmp.$name.log | sed '$d' > /data/$name.log
                               if [ -s /data/$name.log ]
                               then
                                       echo "generate /data/$name.log"
                               else
                                       sed '1d' tmp.$name.log | sed '$d' > /var/$name.log
                                       echo "generate /var/$name.log"
                               fi
                               rm -rf tmp.$name.log
               fi
       done
      Signed-off-by: NXinming Hu <huxm@marvell.com>
      Signed-off-by: NCathy Luo <cluo@marvell.com>
      Signed-off-by: NAvinash Patil <patila@marvell.com>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Reviewed-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      dc759613
    • A
      Bluetooth: btmrvl: remove extra newline character · 7365d475
      Amitkumar Karwar 提交于
      BT_INFO/BT_DBG etc. already takes care of adding a newline
      An extra newline character inside message is removed in this
      patch.
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      7365d475
  3. 03 12月, 2014 4 次提交