From owner-freebsd-bluetooth@FreeBSD.ORG Fri Mar 6 00:06:26 2015 Return-Path: Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 20FC6E53 for ; Fri, 6 Mar 2015 00:06:26 +0000 (UTC) Received: from mail-ie0-x235.google.com (mail-ie0-x235.google.com [IPv6:2607:f8b0:4001:c03::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D3F2ED8B for ; Fri, 6 Mar 2015 00:06:25 +0000 (UTC) Received: by iecar1 with SMTP id ar1so81386191iec.11 for ; Thu, 05 Mar 2015 16:06:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Q921cA/XVR4whI4TMWEqh7zOmkGTpRCxYSSKVV5mjn0=; b=uTWy0m7SvQ+mpjDhstkEBpf1NCE58yxNLHkiTrviTO47lP6G1z7sPjzgnpAP89ip0J Z5YemVTJdyAUeJA0fjp9xVxa0TUFPJKleVspTsIyIQ4EVHSG71+PtfExwf0cFCiBt74R 4VYwYXZbm5kozrwmygLUgXdLWEnbMftdcY5mU0tMRCLXW8LX/+ytCapZK5M5oEiUONho GobYfwaD7V3aOsZBUmMGW2QBVPB7vTB+jaGOv5SsDJnlKoO5hP8G5EKXpBlJpZ0hOasM nHL5FHagDyo2DHn4y8NvwHVObn+Axd98Z7YQcAzv/a9NLQgJMNadn4DOCjp6RuX+3Odn xCxQ== MIME-Version: 1.0 X-Received: by 10.42.30.4 with SMTP id t4mr5765069icc.48.1425600385255; Thu, 05 Mar 2015 16:06:25 -0800 (PST) Received: by 10.36.67.132 with HTTP; Thu, 5 Mar 2015 16:06:25 -0800 (PST) In-Reply-To: References: <20150228220307.b0ab42716d574a9bcfd83094@getmail.no> <20150303223312.c7b12845ae652cfc315c1b61@getmail.no> <20150304225917.56bb81d3e6da2773a0deb5fa@getmail.no> <20150305234319.89f5e1bf9baf7c36f9f6c75b@getmail.no> Date: Thu, 5 Mar 2015 16:06:25 -0800 Message-ID: Subject: Re: Belkin F8T065 doesn't register properly (BCM20702A0) From: Maksim Yevmenkin To: Torfinn Ingolfsen Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-bluetooth@freebsd.org" X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Mar 2015 00:06:26 -0000 [...] > i think you need to use libusb. here some linux python code that might > be of some help > > https://github.com/Dolnor/DELL-SCT-Support/blob/master/Clover/OEM/Wireless/SLE/BTFirmwareUploader.kext/Contents/Resources/bcmfwup.py just a few of comments - the code above seems to be parsing and reading .hex file into the memory - the .hex, might be intex hex, i.e. http://en.wikipedia.org/wiki/Intel_HEX - upload initialized by sending a couple of VENDOR HCI commands, i.e. [0x79, 0xfc, 0x00] and [0x2e, 0xfc, 0x00] - decoded firmware then uploaded using bulk(?) transfers - upload finalized by sending 3 other VENDOR HCI commands, i.e. [0x4e, 0xfc, 0x04, 0xff, 0xff, 0xff, 0xff], [0x79, 0xfc, 0x00] and [0x53, 0xfc, 0x01, 0x13] - finally device is reset by sending HCI RESET command, i.e. [0x03, 0x0c, 0x00] this is definitely not what ubtbcmfw(4) and bcmfw(8) pair does. so, basically, you have to write something from scratch using libusb api. thanks, max