# install firmware
# files for c210
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4334B0_002.001.013.0079.0081.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+#INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4330B1_002.001.003.0221.0265.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
# files for e4112 (W)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-FOREACH(flag ${package_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-ADD_SUBDIRECTORY(set-address)
-ADD_SUBDIRECTORY(tools)
-ADD_SUBDIRECTORY(firmware)
-ADD_SUBDIRECTORY(scripts)
+++ /dev/null
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
+++ /dev/null
-SOFTWARE LICENSE AGREEMENT
-
-The accompanying software in binary code form ("Software"), is licensed to you,
-or, if you are accepting on behalf of an entity, the entity and its affiliates
-exercising rights hereunder ("Licensee") subject to the terms of this software
-license agreement ("Agreement"), unless Licensee and Broadcom Corporation
-("Broadcom") execute a separate written software license agreement governing
-use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE
-CONSTITUTES LICENSEE'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. License. Subject to the terms and conditions of this Agreement,
-Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable,
-royalty-free license: (i) to use and integrate the Software with any other
-software; and (ii) to reproduce and distribute the Software complete,
-unmodified, and as provided by Broadcom, solely for use with Broadcom
-proprietary integrated circuit product(s) sold by Broadcom with which the
-Software was designed to be used, or their successors.
-
-2. Restrictions. Licensee shall distribute Software with a copy of this
-Agreement. Licensee shall not remove, efface or obscure any copyright or
-trademark notices from the Software. Reproductions of the Broadcom copyright
-notice shall be included with each copy of the Software, except where such
-Software is embedded in a manner not readily accessible to the end user.
-Licensee shall not: (i) use, license, sell or otherwise distribute the Software
-except as provided in this Agreement; (ii) attempt to modify in any way,
-reverse engineer, decompile or disassemble any portion of the Software; or
-(iii) use the Software or other material in violation of any applicable law or
-regulation, including but not limited to any regulatory agency. This Agreement
-shall automatically terminate upon Licensee’s failure to comply with any of the
-terms of this Agreement. In such event, Licensee will destroy all copies of the
-Software and its component parts.
-
-3. Ownership. The Software is licensed and not sold. Title to and
-ownership of the Software, including all intellectual property rights thereto,
-and any portion thereof remain with Broadcom or its licensors. Licensee hereby
-covenants that it will not assert any claim that the Software created by or for
-Broadcom infringe any intellectual property right owned or controlled by
-Licensee.
-
-4. Disclaimer. THE SOFTWARE IS OFFERED "AS IS," AND BROADCOM PROVIDES AND
-GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS
-OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE.
-BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR
-ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE
-ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL
-OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE
-RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR
-RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
-OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
-OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION
-OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS,
-EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
-LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
-LIMITED REMEDY.
-
-5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS
-SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
-REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE
-SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE
-LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE
-SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED.
+++ /dev/null
-Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Apache License, Version 2.
-Please, see the LICENSE.APLv2 file for Apache License terms and conditions.
-
-The following files are copyrighted by Broadcom and licensed under
-a separate license. Please, see the LICENSE.Broadcom file for
-license terms and conditions.
-
-Copyright (c) 2012 Broadcom Co., Ltd. All rights reserved.
-- firmware/*.hcd
+++ /dev/null
-<manifest>
- <define>
- <domain name="bt_firmware"/>
- </define>
- <request>
- <domain name="bt_firmware"/>
- </request>
-</manifest>
+++ /dev/null
-usr/bin/*
-usr/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
+++ /dev/null
-#!/bin/sh
-
-# Change File Permission
-chmod 644 @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
-
-# root case
-if [ ${USER} = "root" ]
-then
- chown root:root @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
-fi
+++ /dev/null
-bluetooth-firmware-bcm (0.2.28) precise; urgency=low
-
- * Synchronize the code with Private git
-
- -- Jaekyun Lee <jkyun.ee@samsung.com> Fri, 07 Dec 2012 14:53:59 +0900
-
-bluetooth-firmware-bcm (0.1.4) unstable; urgency=low
-
- * Add e4412 firmware
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Wed, 17 Oct 2012 11:50:43 +0900
-
-bluetooth-firmware-bcm (0.1.3) unstable; urgency=low
-
- * rename bt-firmware-43xx to bluetooth-firmware-bcm
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Sat, 11 Aug 2012 14:26:05 +0900
-
-bt-firmware-43xx (0.1.2) unstable; urgency=low
-
- * Fix set bd bug as TAPI IMEI API deprecated
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Mon, 26 Mar 2012 15:13:31 +0900
-
-bt-firmware-43xx (0.1.1) unstable; urgency=low
-
- * common script moved to bluetooth-tools
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Fri, 23 Mar 2012 11:29:47 +0900
-
-bt-firmware-43xx (0.1.0) unstable; urgency=low
-
- * Initail Release
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 14 Feb 2012 15:13:03 +0900
+++ /dev/null
-Source: bluetooth-firmware-bcm
-Section: devel
-Priority: optional
-Maintainer: DoHyun Pyun <dh79.pyun@samsung.com>, ChanYeol Park <chanyeol.park@samsung.com>, Girish A J <girish.joshi@samsung.com>, InJun Yang <injun.yang@samsung.com>, Jaekyun Lee <jkyun.lee@samsung.com>
-Uploaders: Sunil Behera <sunil.behera@samsung.com>, Syam Sidhardhan <s.syam@samsung.com>
-Build-Depends: debhelper (>= 5), libglib2.0-dev, libvconf-dev
-Standards-Version: 3.7.2
-Homepage: N/A
-
-Package: bluetooth-firmware-bcm
-Architecture: any
-Section: utils
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-tools
-Description: firmware and tools
- firmware and tools
-
-Package: bluetooth-firmware-bcm-dbg
-Section: debug
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-firmware-bcm (= ${Source-Version})
-Description: Tools for bluetooth-firmware-bcm (unstripped)
- The package contains detached debugging symbols for the binary packages
- produced by the bt-firmware-43xx soruce.
-
-
+++ /dev/null
-#!/usr/bin/make -f
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-CFLAGS ?= -Wall -g
-LDFLAGS ?=
-PREFIX ?= /usr
-DATADIR ?= /opt
-PLUGIN_PREFIX ?= /usr
-
-CMAKE_BUILD_DIR ?= $(CURDIR)/cmake_build_tmp
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
-else
- CFLAGS += -O2
-endif
-
-LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
- mkdir -p $(CMAKE_BUILD_DIR) && \
- cd $(CMAKE_BUILD_DIR) && \
- CFLAGS="$(CFLAGS) -fpie" LDFLAGS="$(LDFLAGS) -pie" \
- cmake .. -DCMAKE_INSTALL_PREFIX=$(PREFIX) -DPLUGIN_INSTALL_PREFIX=$(PLUGIN_PREFIX)
-
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- cd $(CMAKE_BUILD_DIR) && $(MAKE)
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- cat $$f > $${f%.in}; \
- sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
- sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
- sed -i -e "s#@PLUGIN_PREFIX@#$(PLUGIN_PREFIX)#g" $${f%.in}; \
- done
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- -rm -rf $(CMAKE_BUILD_DIR)
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- rm -f $${f%.in}; \
- done
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/wavplayer.
- cd $(CMAKE_BUILD_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-
-
- # Booting script
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
- dh_install --sourcedir=debian/tmp
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip --dbg-package=bluetooth-firmware-bcm-dbg
- dh_compress
- dh_fixperms
-# dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+++ /dev/null
-# install firmware
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4330B1_002.001.003.0221.0265.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/BCM4334B0_002.001.013.0079.0081.hcd DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+++ /dev/null
-# install firmware
-INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-end.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
-INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-start-c210.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
-INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-start-e4412.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
-INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-set-addr.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+++ /dev/null
-#!/bin/sh
-
-#
-# Script for stopping Broadcom UART Bluetooth stack
-#
-
-# Device down
-/usr/sbin/hciconfig hci0 down
-
-# OMAP4
-REVISION_NUM=`grep Revision /proc/cpuinfo | awk "{print \\$3}"`
-if [ $REVISION_NUM == "0006" ]; then
- rmmod bt_drv.ko
- rmmod st_drv.ko
- sleep 1
- killall uim_rfkill
- exit 0
-fi
-
-# Turn off Bluetooth Chip
-rfkill block bluetooth
-
-killall hciattach
-
-#if [ -e /sys/class/gpio/gpio17/value ]
-#then
-# # Reset BT chip
-# echo 0 > /sys/class/gpio/gpio17/value
-# sleep 0.1
-# echo 1 > /sys/class/gpio/gpio17/value
-#fi
-
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(setbd C)
-
-SET(SRCS setbd.c)
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${package_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(bcmtool C)
-
-SET(SRCS_4330B1 bcmtool_4330b1.c)
-
-SET(BCMTOOL_4330B1 ${PROJECT_NAME}_4330b1)
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
-ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
-
-ADD_EXECUTABLE(${BCMTOOL_4330B1} ${SRCS_4330B1})
-
-TARGET_LINK_LIBRARIES(${BCMTOOL_4330B1} ${package_LDFLAGS})
-
-# install binary file
-INSTALL(TARGETS ${BCMTOOL_4330B1} DESTINATION ${PLUGIN_INSTALL_PREFIX}/bin)
%description e4412
e4412 firmware and tools for bluetooth
-%if %{_repository}=="wearable"
%package msm8974
Summary: msm8974 firmware and tools for bluetooth
Group: TO_BE/FILLED
%description msm8974
firmware and tools for bluetooth for redwood msm8974
-%endif
%prep
%setup -q -n bluetooth-firmware-bcm-%{version}
export CFLAGS+=" -fpie -fvisibility=hidden"
export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie"
-%if %{_repository}=="wearable"
-cd wearable
-%elseif %{_repository}=="mobile"
-cd mobile
+%if "%{?tizen_profile_name}" == "wearable"
+export CFLAGS="$CFLAGS -DTIZEN_WEARABLE"
+%endif
+
+%cmake \
+%if "%{?tizen_profile_name}" == "wearable"
+ -DTIZEN_WEARABLE=YES \
+%elseif "%{?tizen_profile_name}" == "mobile"
+ -DTIZEN_WEARABLE=NO \
%endif
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
cmake ./ -DCMAKE_INSTALL_PREFIX=%{_prefix} -DPLUGIN_INSTALL_PREFIX=%{_prefix}
make %{?jobs:-j%jobs}
%install
rm -rf %{buildroot}
-%if %{_repository}=="wearable"
-cd wearable
-%elseif %{_repository}=="mobile"
-cd mobile
-%endif
-
%make_install
-%if %{_repository}=="wearable"
-install -D -m 0644 LICENSE.APLv2 %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-c210
-install -D -m 0644 LICENSE.APLv2 %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-e4412
-install -D -m 0644 LICENSE.APLv2 %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-msm8974
-install -D -m 0644 LICENSE.Broadcom %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-c210
-install -D -m 0644 LICENSE.Broadcom %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-e4412
-install -D -m 0644 LICENSE.Broadcom %{buildroot}%{_datadir}/license/bluetooth-firmware-bcm-msm8974
-%elseif %{_repository}=="mobile"
mkdir -p %{buildroot}/usr/share/license
cp LICENSE.APLv2 %{buildroot}/usr/share/license/%{name}
-cat %{_builddir}/%{name}-%{version}/%{_repository}/LICENSE.Broadcom >> %{buildroot}/usr/share/license/%{name}
-%endif
+cat %{_builddir}/%{name}-%{version}/LICENSE.Broadcom >> %{buildroot}/usr/share/license/%{name}
%post c210
rm -rf %{_prefix}/etc/bluetooth/bt-dev-start.sh
rm -rf %{_prefix}/etc/bluetooth/bt-dev-start.sh
ln -s %{_prefix}/etc/bluetooth/bt-dev-start-e4412.sh %{_prefix}/etc/bluetooth/bt-dev-start.sh
-%if %{_repository}=="wearable"
%post msm8974
rm -rf %{_prefix}/etc/bluetooth/bt-dev-start.sh
ln -s %{_prefix}/etc/bluetooth/bt-dev-start-msm8974.sh %{_prefix}/etc/bluetooth/bt-dev-start.sh
-%endif
%files c210
-%manifest %{_repository}/bluetooth-firmware-bcm.manifest
+%manifest bluetooth-firmware-bcm.manifest
%defattr(-,root,root,-)
%{_bindir}/bcmtool_4330b1
%{_bindir}/setbd
-%if %{_repository}=="wearable"
-%{_prefix}/etc/bluetooth/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd
-%endif
%{_prefix}/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-end.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-start-c210.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-set-addr.sh
-%if %{_repository}=="wearable"
-%{_datadir}/license/bluetooth-firmware-bcm-c210
-%elseif %{_repository}=="mobile"
/usr/share/license/%{name}
-%endif
%files e4412
-%manifest %{_repository}/bluetooth-firmware-bcm.manifest
+%manifest bluetooth-firmware-bcm.manifest
%defattr(-,root,root,-)
%{_bindir}/bcmtool_4330b1
%{_bindir}/setbd
-%if %{_repository}=="wearable"
+%if "%{?tizen_profile_name}" == "wearable"
%{_prefix}/etc/bluetooth/BCM20710A1_001.002.014.0059.0060.hcd
%{_prefix}/etc/bluetooth/BCM4334B0_002.001.013.1675.1676_B2_ORC.hcd
-#%{_prefix}/etc/bluetooth/BCM4334W_001.002.003.0874.0000_Samsung_Rinato_TEST_ONLY.hcd
-#%{_prefix}/etc/bluetooth/BCM43342A1_001.002.003.0874.0000_SEMCO_B58_TEST_ONLY.hcd
%{_prefix}/etc/bluetooth/BCM4334W_Rinato_TestOnly.hcd
%{_prefix}/etc/bluetooth/BCM4334W_001.002.003.0997.1027_B58_ePA.hcd
-%{_datadir}/license/bluetooth-firmware-bcm-e4412
-%elseif %{_repository}=="mobile"
+%exclude %{_prefix}/etc/bluetooth/BCM4334B0_002.001.013.0079.0081.hcd
+%else
%{_prefix}/etc/bluetooth/BCM4334B0_002.001.013.0079.0081.hcd
-/usr/share/license/%{name}
+%exclude %{_prefix}/etc/bluetooth/BCM20710A1_001.002.014.0059.0060.hcd
+%exclude %{_prefix}/etc/bluetooth/BCM4334B0_002.001.013.1675.1676_B2_ORC.hcd
+%exclude %{_prefix}/etc/bluetooth/BCM4334W_Rinato_TestOnly.hcd
+%exclude %{_prefix}/etc/bluetooth/BCM4334W_001.002.003.0997.1027_B58_ePA.hcd
%endif
+/usr/share/license/%{name}
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-end.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-start-e4412.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-set-addr.sh
-%if %{_repository}=="wearable"
%files msm8974
-%manifest %{_repository}/bluetooth-firmware-bcm.manifest
+%manifest bluetooth-firmware-bcm.manifest
%defattr(-,root,root,-)
%{_bindir}/bcmtool_4330b1
%{_bindir}/setbd
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-end.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-start-msm8974.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-set-addr.sh
-%{_datadir}/license/bluetooth-firmware-bcm-msm8974
-%endif
+/usr/share/license/%{name}
# install firmware
INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-end.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-start-c210.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
-INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-start-e4412.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+IF (TIZEN_WEARABLE)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/wearable/bt-dev-start-e4412.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+ELSE ()
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/mobile/bt-dev-start-e4412.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
+ENDIF (TIZEN_WEARABLE)
INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-dev-start-msm8974.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bt-set-addr.sh DESTINATION ${PLUGIN_INSTALL_PREFIX}/etc/bluetooth)
#
# Device down
-/usr/sbin/hciconfig hci0 down
+/usr/bin/hciconfig hci0 down
# Turn off Bluetooth Chip
rfkill block bluetooth
rfkill unblock bluetooth
echo "Check for Bluetooth device status"
-if (/usr/sbin/hciconfig | grep hci); then
+if (/usr/bin/hciconfig | grep hci); then
echo "Bluetooth device is UP"
- /usr/sbin/hciconfig hci0 up
+ /usr/bin/hciconfig hci0 up
else
echo "Bluetooth device is DOWN"
echo "Registering Bluetooth device"
done
# Attaching Broadcom device
- if (/usr/sbin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
+ if (/usr/bin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
sleep 0.1
- /usr/sbin/hciconfig hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
- /usr/sbin/hciconfig hci0 sspmode 1
+ /usr/bin/hciconfig hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
+ /usr/bin/hciconfig hci0 sspmode 1
echo "HCIATTACH success"
else
echo "HCIATTACH failed"
rfkill unblock bluetooth
echo "Check for Bluetooth device status"
-if (/usr/sbin/hciconfig | grep hci); then
+if (/usr/bin/hciconfig | grep hci); then
echo "Bluetooth device is UP"
- /usr/sbin/hciconfig hci0 up
+ /usr/bin/hciconfig hci0 up
else
echo "Bluetooth device is DOWN"
echo "Registering Bluetooth device"
$BCM_TOOL $BT_UART_DEVICE -DEBUG -CSTOPB -FILE=/usr/etc/bluetooth/$BCM_FIRMWARE -BAUD=$UART_SPEED -ADDR=$BT_ADDR -SETSCO=0,0,0,0,0,0,0,3,3,0 -LP
# Attaching Broadcom device
- if (/usr/sbin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
+ if (/usr/bin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
sleep 0.1
echo "HCIATTACH success"
else
fi
fi
-#/usr/sbin/hciconfig hci0 down
+#/usr/bin/hciconfig hci0 down
/usr/bin/setbd
#if the setbd return non 0, which means incorrect bd address file, then exit
-if [ $? -ne 0 ]
+if [ ! -e "$BT_ADDR" ]
then
- exit 1
+ BT_ADDR=/opt/var/lib/bluetooth/.bd_addr
+ if [ ! -e "$BT_ADDR" ]
+ then
+ exit 1
+ fi
fi
rfkill unblock bluetooth
echo "Check for Bluetooth device status"
-if (/usr/sbin/hciconfig | grep hci); then
+if (/usr/bin/hciconfig | grep hci); then
echo "Bluetooth device is UP"
- /usr/sbin/hciconfig hci0 up
+ /usr/bin/hciconfig hci0 up
else
echo "Bluetooth device is DOWN"
echo "Registering Bluetooth device"
- $BCM_TOOL $BT_UART_DEVICE -FILE=/usr/etc/bluetooth/$BCM_FIRMWARE -BAUD=$UART_SPEED -ADDR=$BT_ADDR -SETSCO=0,0,0,0,0,0,0,3,3,0 -LP > /dev/null 2>&1 &
+ #$BCM_TOOL $BT_UART_DEVICE -FILE=/usr/etc/bluetooth/$BCM_FIRMWARE -BAUD=$UART_SPEED -ADDR=$BT_ADDR -SETSCO=0,0,0,0,0,0,0,3,3,0 -LP > /dev/null 2>&1 &
+ $BCM_TOOL $BT_UART_DEVICE -FILE=/usr/etc/bluetooth/$BCM_FIRMWARE -BAUD=$UART_SPEED -ADDR=$BT_ADDR -SETSCO=0,0,0,0,0,0,0,3,3,0 > /dev/null 2>&1 &
bcmtool_pid=$!
#Check next 5 seconds for bcmtool success
for (( i=1; i<=50; i++))
done
# Attaching Broadcom device
- if (/usr/sbin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
+ if (/usr/bin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
sleep 0.1
- /usr/sbin/hciconfig hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
- /usr/sbin/hciconfig hci0 sspmode 1
+ /usr/bin/hciconfig hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
+ /usr/bin/hciconfig hci0 sspmode 1
echo "HCIATTACH success"
else
echo "HCIATTACH failed"
fi
fi
-#/usr/sbin/hciconfig hci0 down
+#/usr/bin/hciconfig hci0 down
rfkill unblock bluetooth
echo "Check for Bluetooth device status"
-if (/usr/sbin/hciconfig | grep hci); then
+if (/usr/bin/hciconfig | grep hci); then
echo "Bluetooth device is UP"
- /usr/sbin/hciconfig hci0 up
+ /usr/bin/hciconfig hci0 up
else
echo "Bluetooth device is DOWN"
echo "Registering Bluetooth device"
echo "Try for hciattach"
# Attaching Broadcom device
- if (/usr/sbin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
+ if (/usr/bin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
sleep 0.1
echo "HCIATTACH success"
else
fi
fi
-#/usr/sbin/hciconfig hci0 down
+#/usr/bin/hciconfig hci0 down
#include <sys/stat.h>
#define BD_ADDR_PATH "/csa/bluetooth"
+#define BD_ADDR_TEMP_PATH "/opt/var/lib/bluetooth"
+
#define BD_ADDR_FILE "/csa/bluetooth/.bd_addr"
+#define BD_ADDR_TEMP_FILE "/opt/var/lib/bluetooth/.bd_addr"
#define BD_ADDR_LEN 14
#define BD_PREFIX "0002\n"
printf("\r\n");
}
-void make_bt_address_folder(void)
+int make_bt_address_folder(char *path)
{
DIR *dp;
int err;
- dp = opendir(BD_ADDR_PATH);
+ dp = opendir(path);
if (dp == NULL) {
- if (mkdir(BD_ADDR_PATH, 0755) < 0) {
+ if (mkdir(path, 0755) < 0) {
err = -errno;
printf("mkdir: %s(%d)", strerror(-err), -err);
+ return -1;
}
- return;
+ return 0;
}
closedir(dp);
+ return 0;
}
-int make_bt_address(void)
+int make_bt_address(char *path, char *file)
{
int fd;
unsigned char txt[BD_ADDR_LEN];
char nap[4 + 1], uap[2 + 1], lap[6 + 1];
int ret;
- make_bt_address_folder();
+ if (make_bt_address_folder(path) < 0)
+ return -1;
- fd = open(BD_ADDR_FILE, O_RDONLY | O_SYNC);
+ fd = open(file, O_RDONLY | O_SYNC);
if (fd < 0) {
printf("File not exist\n");
- fd = open(BD_ADDR_FILE, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
+ fd = open(file, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
0644);
if (fd < 0) {
if (ret != BD_ADDR_LEN) {
printf("Unable to write device address\n");
close(fd);
- unlink(BD_ADDR_FILE);
+ unlink(file);
return -1;
}
lseek(fd, 0, SEEK_SET);
} else {
- printf("%s is already existed\n", BD_ADDR_FILE);
+ printf("%s is already existed\n", file);
}
ret = read(fd, nap, 5);
*/
if (strncmp(nap, "0002", 4) == 0 &&
strncmp(uap, "3f", 2) == 0 && strncmp(lap, "bf0a1a", 6) == 0) {
- printf("%s has wrong address\n", BD_ADDR_FILE);
- fd = open(BD_ADDR_FILE, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
+ printf("%s has wrong address\n", file);
+ fd = open(file, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
0644);
if (fd < 0) {
if (ret != BD_ADDR_LEN) {
printf("Unable to write device address\n");
close(fd);
- unlink(BD_ADDR_FILE);
+ unlink(file);
return -1;
}
err:
printf("read() failed, ret = %d\n", ret);
close(fd);
- unlink(BD_ADDR_FILE);
+ unlink(file);
return -1;
}
int main()
{
printf("Bluetooth Address Setting\n");
- if (make_bt_address() < 0)
- return -1;
-
+ if (make_bt_address(BD_ADDR_PATH, BD_ADDR_FILE) < 0) {
+ if (make_bt_address(BD_ADDR_TEMP_PATH, BD_ADDR_TEMP_FILE) < 0) {
+ return -1;
+ } else {
+ return 1;
+ }
+ }
return 0;
}
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(bcmtool C)
-SET(SRCS_4330B1 bcmtool_4330b1.c)
+IF (TIZEN_WEARABLE)
+SET(SRCS_4330B1 bcmtool_4330b1_w.c)
+ELSE ()
+SET(SRCS_4330B1 bcmtool_4330b1_m.c)
+ENDIF (TIZEN_WEARABLE)
SET(BCMTOOL_4330B1 ${PROJECT_NAME}_4330b1)
ChangeBaudRate(921600);
#endif
- strcpy(prm, patchram1);
+ strncpy(prm, patchram1, 127);
fprintf(stderr, "Download Start\n");
-/*****************************************************************************
-**
-** Name: bcmtool.c
-**
-** Description: Download a patchram files for the HCD format
-**
-** Copyright (c) 2000-2009, Broadcom Corp., All Rights Reserved.
-******************************************************************************/
+/*
+ * Name: bcmtool_4330b1.c
+ *
+ * Description: Download a patchram files for the HCD format
+ *
+ * Copyright (c) 2012-2013, Broadcom Corp., All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
#include <stdio.h>
#include <errno.h>
ChangeBaudRate(3000000);
#endif
- strcpy(prm, patchram1);
+ strncpy(prm, patchram1, 127);
fprintf(stderr, "Download Start\n");
+++ /dev/null
-Hocheol Seo <hocheol.seo@samsung.com>
-Girish Ashok Joshi <girish.joshi@samsung.com>
-Chanyeol Park <chanyeol.park@samsung.com>
-DoHyun Pyun <dh79.pyun@samsung.com>
+++ /dev/null
-usr/bin/*
-usr/etc/bluetooth/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd
-usr/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
+++ /dev/null
-#!/bin/sh
-
-# Change File Permission
-chmod 644 @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd
-chmod 644 @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
-
-# root case
-if [ ${USER} = "root" ]
-then
- chown root:root @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd
- chown root:root @PREFIX@/etc/bluetooth/BCM4330B1_002.001.003.0221.0265.hcd
-fi
+++ /dev/null
-usr/bin/*
-usr/etc/bluetooth/BCM4334B0_002.001.013.0079.0081.hcd
-usr/etc/bluetooth/BCM4334B0_002.001.013.0079.0084.hcd
+++ /dev/null
-#!/bin/sh
-
-# Change File Permission
-chmod 644 @PREFIX@/etc/bluetooth/BCM4334B0_002.001.013.0079.0081.hcd
-chmod 644 @PREFIX@/etc/bluetooth/BCM4334B0_002.001.013.0079.0084.hcd
-
-# root case
-if [ ${USER} = "root" ]
-then
- chown root:root @PREFIX@/etc/bluetooth/BCM4334B0_002.001.013.0079.0081.hcd
- chown root:root @PREFIX@/etc/bluetooth/BCM4334B0_002.001.013.0079.0084.hcd
-fi
+++ /dev/null
-bluetooth-firmware-bcm (0.2.38-2) unstable; urgency=low
-
- * Tagging and upload the package
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.38-2
-
- -- Sangki Park <sangki79.park@samsung.com> Wed, 06 Mar 2013 10:02:22 +0900
-
-bluetooth-firmware-bcm (0.2.38) unstable; urgency=low
-
- * update SEMCO SWB-B52 module patchram for Redwood45_3G
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.38
-
- -- Sangki Park <sangki79.park@samsung.com> Tue, 05 Mar 2013 11:33:46 +0900
-
-bluetooth-firmware-bcm (0.2.37) unstable; urgency=low
-
- * update Murata module patchram for Redwood45_LTE_JPN
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.37
-
- -- Sangki Park <sangki79.park@samsung.com> Tue, 26 Feb 2013 10:12:50 +0900
-
-bluetooth-firmware-bcm (0.2.36) unstable; urgency=low
-
- * Create folder on runtime
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.36
-
- -- InJun Yang <injun.yang@samsung.com> Fri, 22 Feb 2013 12:26:45 +0900
-
-bluetooth-firmware-bcm (0.2.34) unstable; urgency=low
-
- * Change bd_addr file path
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.35
-
- -- InJun Yang <injun.yang@samsung.com> Thu, 21 Feb 2013 14:22:31 +0900
-
-bluetooth-firmware-bcm (0.2.33) unstable; urgency=low
-
- * Apply the visibility hidden option
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.33
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 05 Feb 2013 18:54:06 +0900
-
-bluetooth-firmware-bcm (0.2.32) precise; urgency=low
-
- * Remove link package method
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.31
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Thu, 10 Jan 2013 15:25:37 +0900
-
-bluetooth-firmware-bcm (0.2.30) unstable; urgency=low
-
- * Fix power consumption issue after BT off.
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.30
-
- -- Sangki Park <sangki79.park@samsung.com> Thu, 10 Jan 2013 07:34:33 +0900
-
-bluetooth-firmware-bcm (0.2.29) unstable; urgency=low
-
- * Update bluetooth firmware
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.29
-
- -- Sangki Park <sangki79.park@samsung.com> Fri, 21 Dec 2012 15:01:26 +0900
-
-bluetooth-firmware-bcm (0.2.28) unstable; urgency=low
-
- * Copy the license file in target
- * Git: magnolia/adaptation/devices/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.28
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Thu, 11 Oct 2012 15:55:57 +0900
-
-bluetooth-firmware-bcm (0.2.27) unstable; urgency=low
-
- * Apply smack manifest file
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.27
-
- -- Sangki Park <sangki79.park@samsung.com> Fri, 21 Sep 2012 09:15:16 +0900
-
-bluetooth-firmware-bcm (0.2.26) unstable; urgency=low
-
- * change a UART baudrate from 921K to 3M
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.26
-
- -- sangki79.park <sangki79-park@sangki> Tue, 10 Jul 2012 14:25:45 +0900
-
-bluetooth-firmware-bcm (0.2.25) unstable; urgency=low
-
- * Fix set bd bug as TAPI IMEI API deprecated
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.25
-
- -- Chanyeol Park <chanyeol.park@samsung.com> Sun, 25 Mar 2012 17:31:22 +0900
-
-bluetooth-firmware-bcm (0.2.24) unstable; urgency=low
-
- * Change BT firmware PCM from "Master" to "Slave".
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.24
-
- -- Chanyeol Park <chanyeol.park@samsung.com> Thu, 22 Mar 2012 17:08:10 +0900
-
-bluetooth-firmware-bcm (0.2.23) unstable; urgency=low
-
- * rename es4412 to e4412
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.23
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Mon, 12 Mar 2012 14:31:49 +0900
-
-bluetooth-firmware-bcm (0.2.22) unstable; urgency=low
-
- * split firmware from bluetooth-dev-tool
- * Git: slp/pkgs/b/bluetooth-firmware-bcm
- * Tag: bluetooth-firmware-bcm_0.2.22
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Mon, 05 Mar 2012 15:08:22 +0900
+++ /dev/null
-Source: bluetooth-firmware-bcm
-Section: devel
-Priority: optional
-Maintainer: DoHyun Pyun <dh79.pyun@samsung.com>, ChanYeol Park <chanyeol.park@samsung.com>, Girish A J <girish.joshi@samsung.com>, Jaekyun Lee <jkyun.lee@samsung.com>
-Uploaders: Sunil Behera <sunil.behera@samsung.com>
-Build-Depends: debhelper (>= 5), libglib2.0-dev, libvconf-dev
-Standards-Version: 3.7.2
-Homepage: N/A
-
-Package: bluetooth-firmware-bcm-c210
-Architecture: any
-Section: utils
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-tools
-Conflicts: bluetooth-firmware-bcm-e4412
-Breaks: bluetooth-firmware-bcm-e4412
-Replaces: bluetooth-firmware-bcm-e4412
-Description: firmware and tools for C210 devices
- firmware and tools for C210 devices
-
-Package: bluetooth-firmware-bcm-e4412
-Architecture: any
-Section: utils
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-tools
-Conflicts: bluetooth-firmware-bcm-c210
-Breaks: bluetooth-firmware-bcm0-c210
-Replaces: bluetooth-firmware-bcm0-c210
-Description: firmware and tools for e4412 devices
- firmware and tools for e4412 devices
-
-Package: bluetooth-firmware-bcm-c210-dbg
-Section: debug
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-firmware-bcm-c210 (= ${Source-Version})
-Description: Tools for bluetooth-firmware-bcm (unstripped)
- The package contains detached debugging symbols for the binary packages
- produced by the bluetooth-firmware-bcm soruce.
-
-Package: bluetooth-firmware-bcm-e4412-dbg
-Section: debug
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, bluetooth-firmware-bcm-e4412 (= ${Source-Version})
-Description: Tools for bluetooth-firmware-bcm (unstripped)
- The package contains detached debugging symbols for the binary packages
- produced by the bluetooth-firmware-bcm soruce.
+++ /dev/null
-#!/usr/bin/make -f
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-CFLAGS ?= -Wall -g
-LDFLAGS ?=
-PREFIX ?= /usr
-DATADIR ?= /opt
-PLUGIN_PREFIX ?= /usr
-
-CMAKE_BUILD_DIR ?= $(CURDIR)/cmake_build_tmp
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
-else
- CFLAGS += -O2
-endif
-
-LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
- mkdir -p $(CMAKE_BUILD_DIR) && \
- cd $(CMAKE_BUILD_DIR) && \
- CFLAGS="$(CFLAGS) -fpie" LDFLAGS="$(LDFLAGS) -pie" \
- cmake .. -DCMAKE_INSTALL_PREFIX=$(PREFIX) -DPLUGIN_INSTALL_PREFIX=$(PLUGIN_PREFIX)
-
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- cd $(CMAKE_BUILD_DIR) && $(MAKE)
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- cat $$f > $${f%.in}; \
- sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
- sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
- sed -i -e "s#@PLUGIN_PREFIX@#$(PLUGIN_PREFIX)#g" $${f%.in}; \
- done
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- -rm -rf $(CMAKE_BUILD_DIR)
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- rm -f $${f%.in}; \
- done
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/wavplayer.
- cd $(CMAKE_BUILD_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-
-
- # Booting script
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
- dh_install --sourcedir=debian/tmp
-
- # Install extra shell script
- mkdir -p $(CURDIR)/debian/bluetooth-firmware-bcm-c210/usr/etc/bluetooth/
- mkdir -p $(CURDIR)/debian/bluetooth-firmware-bcm-e4412/usr/etc/bluetooth/
-
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-dev-end.sh $(CURDIR)/debian/bluetooth-firmware-bcm-c210/usr/etc/bluetooth/bt-dev-end.sh
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-dev-start-c210.sh $(CURDIR)/debian/bluetooth-firmware-bcm-c210/usr/etc/bluetooth/bt-dev-start.sh
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-set-addr.sh $(CURDIR)/debian/bluetooth-firmware-bcm-c210/usr/etc/bluetooth/bt-set-addr.sh
-
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-dev-end.sh $(CURDIR)/debian/bluetooth-firmware-bcm-e4412/usr/etc/bluetooth/bt-dev-end.sh
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-dev-start-e4412.sh $(CURDIR)/debian/bluetooth-firmware-bcm-e4412/usr/etc/bluetooth/bt-dev-start.sh
- cp -a $(CURDIR)/debian/tmp/usr/etc/bluetooth/bt-set-addr.sh $(CURDIR)/debian/bluetooth-firmware-bcm-e4412/usr/etc/bluetooth/bt-set-addr.sh
-
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip --dbg-package=bluetooth-firmware-bcm-c210-dbg --dbg-package=bluetooth-firmware-bcm-e4412-dbg
- dh_compress
- dh_fixperms
-# dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+++ /dev/null
-#!/bin/sh
-
-# Script for registering Broadcom UART BT device
-BT_UART_DEVICE=/dev/ttySAC0
-BT_CHIP_TYPE=bcm2035
-BCM_TOOL=/usr/bin/bcmtool_4330b1
-BT_ADDR=/csa/bluetooth/.bd_addr
-
-BT_PLATFORM_DEFAULT_HCI_NAME="SLP2.0_BT"
-UART_SPEED=3000000
-
-#set default firmware
-#for SLP7_C210, SLP10_C210
-BCM_FIRMWARE=BCM4330B1_002.001.003.0013.0000_SS-SLP7-B42_NoExtLNA_37_4MHz-TEST-ONLY.hcd
-
-REVISION_NUM=`grep Revision /proc/cpuinfo | awk "{print \\$3}"`
-REVISION_HIGH=`echo $REVISION_NUM| cut -c1-2`
-REVISION_LOW=`echo $REVISION_NUM| cut -c3-`
-
-HARDWARE=`grep Hardware /proc/cpuinfo | awk "{print \\$3}"`
-
-if [ "$HARDWARE" = "U1SLP" ] ||
- [ "$HARDWARE" = "U1HD" ]; then
- echo $HARDWARE "BCM4330 B1"
- BCM_FIRMWARE=BCM4330B1_002.001.003.0221.0265.hcd
-fi
-echo $BCM_FIRMWARE
-
-if [ ! -e "$BT_UART_DEVICE" ]
-then
- mknod $BT_UART_DEVICE c 204 64
-fi
-
-# Set BT address: This will internally check for the file presence
-/usr/bin/setbd
-
-#if the setbd return non 0, which means incorrect bd address file, then exit
-if [ $? -ne 0 ]
-then
- exit 1
-fi
-
-# Trun-on Bluetooth Chip
-rfkill unblock bluetooth
-
-echo "Check for Bluetooth device status"
-if (/usr/sbin/hciconfig | grep hci); then
- echo "Bluetooth device is UP"
- /usr/sbin/hciconfig hci0 up
-else
- echo "Bluetooth device is DOWN"
- echo "Registering Bluetooth device"
-
- $BCM_TOOL $BT_UART_DEVICE -FILE=/usr/etc/bluetooth/$BCM_FIRMWARE -BAUD=$UART_SPEED -ADDR=$BT_ADDR -SETSCO=0,0,0,0,0,0,0,3,3,0 -LP > /dev/null 2>&1 &
- bcmtool_pid=$!
- #Check next 2.4 seconds for bcmtool success
- for (( i=1; i<=24; i++))
- do
- sleep 0.1
- kill -0 $bcmtool_pid
- bcmtool_alive=$?
-
- if [ $i -eq 24 ]
- then
- echo "time expired happen $i"
- kill -TERM $bcmtool_pid
- rfkill block bluetooth
- exit 1
- fi
-
- if [ $bcmtool_alive -eq 0 ]
- then
- echo "Continue....$i"
- continue
- else
- echo "Break.......$i"
- break
- fi
- done
-
- # Attaching Broadcom device
- if (/usr/sbin/hciattach $BT_UART_DEVICE -s $UART_SPEED $BT_CHIP_TYPE $UART_SPEED flow); then
- sleep 0.1
- echo "HCIATTACH success"
- else
- echo "HCIATTACH failed"
- rfkill block bluetooth
- fi
-fi
-
-#/usr/sbin/hciconfig hci0 down
+++ /dev/null
-#!/bin/sh
-
-#
-# Script for setting Bluetooth Address
-#
-
-#if [ -e /opt/etc/.bd_addr ]
-#then
-# echo "Already .bd_addr exists"
-# exit 0
-#fi
-
-/usr/bin/setbd
-
-echo "Set BT address successes"
-
+++ /dev/null
-/*
- * setbd.c
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved
- *
- * Contact: Hocheol Seo <hocheol.seo@samsung.com>
- * GirishAshok Joshi <girish.joshi@samsung.com>
- * DoHyun Pyun <dh79.pyun@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/time.h>
-#include <dirent.h>
-#include <sys/stat.h>
-
-#define BD_ADDR_PATH "/csa/bluetooth"
-#define BD_ADDR_FILE "/csa/bluetooth/.bd_addr"
-
-#define BD_ADDR_LEN 14
-#define BD_PREFIX "0002\n"
-
-void makeRandomBD(unsigned char *buf)
-{
- int ran;
- int i;
- unsigned int seed;
- struct timeval tv;
-
- memcpy(buf, BD_PREFIX, 5);
- i = gettimeofday(&tv, NULL);
-
- if (i < 0) {
- perror("Fail to call gettimeofday()");
- seed = time(NULL);
- } else
- seed = (unsigned int)tv.tv_usec;
-
- for (i = 5; i < BD_ADDR_LEN; i++) {
- if (7 == i) {
- buf[i] = '\n';
- continue;
- }
- ran = rand_r(&seed) % 16;
- if (10 > ran)
- ran += 0x30;
- else
- ran += 0x57;
- buf[i] = ran;
- }
- printf("Random number is\r\n");
- for (i = 0; i < BD_ADDR_LEN; i++) {
- printf("%c", buf[i]);
- }
- printf("\r\n");
-}
-
-void make_bt_address_folder(void)
-{
- DIR *dp;
- int err;
-
- dp = opendir(BD_ADDR_PATH);
- if (dp == NULL) {
- if (mkdir(BD_ADDR_PATH, 0755) < 0) {
- err = -errno;
- printf("mkdir: %s(%d)", strerror(-err), -err);
- }
- return;
- }
-
- closedir(dp);
-}
-
-int make_bt_address(void)
-{
- int fd;
- unsigned char txt[BD_ADDR_LEN];
- char nap[4 + 1], uap[2 + 1], lap[6 + 1];
- int ret;
-
- make_bt_address_folder();
-
- fd = open(BD_ADDR_FILE, O_RDONLY | O_SYNC);
-
- if (fd < 0) {
- printf("File not exist\n");
-
- fd = open(BD_ADDR_FILE, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
- 0644);
-
- if (fd < 0) {
- printf("Can't open address file\n");
- return -1;
- }
-
- makeRandomBD(txt);
-
- ret = write(fd, txt, BD_ADDR_LEN);
- if (ret != BD_ADDR_LEN) {
- printf("Unable to write device address\n");
- close(fd);
- unlink(BD_ADDR_FILE);
- return -1;
- }
-
- lseek(fd, 0, SEEK_SET);
- } else {
- printf("%s is already existed\n", BD_ADDR_FILE);
- }
-
- ret = read(fd, nap, 5);
- if (ret != 5)
- goto err;
-
- ret = read(fd, uap, 3);
- if (ret != 3)
- goto err;
-
- ret = read(fd, lap, 7);
- if (ret != 6)
- goto err;
-
- close(fd);
-
- /* Unfortunately 00023fbf0a1a address is duplicated from the
- * previous IMEI logic. So this address should be updated with
- * random value.
- *
- * This is temporal code. And this would be reverted around a few week
- * after the wrong addressed device has proper address.
- */
- if (strncmp(nap, "0002", 4) == 0 &&
- strncmp(uap, "3f", 2) == 0 && strncmp(lap, "bf0a1a", 6) == 0) {
- printf("%s has wrong address\n", BD_ADDR_FILE);
- fd = open(BD_ADDR_FILE, O_RDWR | O_CREAT | O_TRUNC | O_SYNC,
- 0644);
-
- if (fd < 0) {
- printf("Can't open address file\n");
- return -1;
- }
-
- makeRandomBD(txt);
- ret = write(fd, txt, BD_ADDR_LEN);
- if (ret != BD_ADDR_LEN) {
- printf("Unable to write device address\n");
- close(fd);
- unlink(BD_ADDR_FILE);
- return -1;
- }
-
- lseek(fd, 0, SEEK_SET);
- close(fd);
- }
-
- return ret;
- err:
- printf("read() failed, ret = %d\n", ret);
- close(fd);
- unlink(BD_ADDR_FILE);
- return -1;
-}
-
-int main()
-{
- printf("Bluetooth Address Setting\n");
- if (make_bt_address() < 0)
- return -1;
-
- return 0;
-}