Skip to content

Commit

Permalink
bdaddr_read: add changes to read bdaddr from system property
Browse files Browse the repository at this point in the history
Change-Id: I69b5f081256efaed7beed56df6bd087a473bd075
  • Loading branch information
jt1134 committed Jan 7, 2013
1 parent 761f0b4 commit e813910
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 19 deletions.
23 changes: 5 additions & 18 deletions bdaddr_read/bdaddr_read.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <cutils/log.h>

#define LOG_TAG "bdaddr"
#define SAMSUNG_BDADDR_PATH "/efs/imei/bt.txt"
#define SAMSUNG_BDADDR_PATH "ril.bt_macaddr"
#define BDADDR_PATH "/data/bdaddr"

/* Read bluetooth MAC from SAMSUNG_BDADDR_PATH (different format),
Expand All @@ -16,30 +16,17 @@
int main() {
char tmpbdaddr[23]; // bt_macaddr:xxxxxxxxxxxx
char bdaddr[18];
int count;
int fd;

fd = open(SAMSUNG_BDADDR_PATH, O_RDONLY);
if(fd < 0) {
fprintf(stderr, "open(%s) failed\n", SAMSUNG_BDADDR_PATH);
ALOGE("Can't open %s\n", SAMSUNG_BDADDR_PATH);
return -1;
}

count = read(fd, tmpbdaddr, sizeof(tmpbdaddr));
if (count < 0) {
property_get(SAMSUNG_BDADDR_PATH, tmpbdaddr, "");
if (tmpbdaddr[0] == 0) {
fprintf(stderr, "read(%s) failed\n", SAMSUNG_BDADDR_PATH);
ALOGE("Can't read %s\n", SAMSUNG_BDADDR_PATH);
return -1;
}
else if (count != sizeof(tmpbdaddr)) {
fprintf(stderr, "read(%s) unexpected size %d\n", SAMSUNG_BDADDR_PATH, count);
ALOGE("Error reading %s (unexpected size %d)\n", SAMSUNG_BDADDR_PATH, count);
return -1;
}

count = sprintf(bdaddr, "%2.2s:%2.2s:%2.2s:%2.2s:%2.2s:%2.2s\0",
tmpbdaddr+11,tmpbdaddr+13,tmpbdaddr+15,tmpbdaddr+17,tmpbdaddr+19,tmpbdaddr+21);
sprintf(bdaddr, "%2.2s:%2.2s:%2.2s:%2.2s:%2.2s:%2.2s\0",
tmpbdaddr,tmpbdaddr+2,tmpbdaddr+4,tmpbdaddr+6,tmpbdaddr+8,tmpbdaddr+10);

fd = open(BDADDR_PATH, O_WRONLY|O_CREAT|O_TRUNC, 00600|00060|00006);
if (fd < 0) {
Expand Down
2 changes: 1 addition & 1 deletion init.aries.rc
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ service bdaddr /system/bin/bdaddr_read
disabled
oneshot

on property:init.svc.bootanim=running
on property:ril.bt_macaddr=*
start bdaddr

# bugreport is triggered by holding down volume down, volume up and power
Expand Down

0 comments on commit e813910

Please sign in to comment.