- Adds bcm43xx-3wire variant. - Resets UART speed after firmware download. - Prints chip name when firmware isn't found for bcm43xx. - Increases timeout for bcm43xx. - Moves bcm43xx firmware to lib. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>lilik-openwrt-22.03
@ -0,0 +1,21 @@ | |||||
From b4f2b77472aeb967d3a7595e8a965785c7a37c87 Mon Sep 17 00:00:00 2001 | |||||
From: Phil Elwell <phil@raspberrypi.org> | |||||
Date: Tue, 16 Feb 2016 16:40:46 +0000 | |||||
Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant | |||||
--- | |||||
tools/hciattach.c | 3 +++ | |||||
1 file changed, 3 insertions(+) | |||||
--- a/tools/hciattach.c | |||||
+++ b/tools/hciattach.c | |||||
@@ -1144,6 +1144,9 @@ struct uart_t uart[] = { | |||||
{ "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000, | |||||
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL }, | |||||
+ { "bcm43xx-3wire", 0x0000, 0x0000, HCI_UART_3WIRE, 115200, 3000000, | |||||
+ 0, DISABLE_PM, NULL, bcm43xx, NULL }, | |||||
+ | |||||
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200, | |||||
FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm }, | |||||
@ -0,0 +1,33 @@ | |||||
From e145c9621f976063e5c573db1f2053d906f63427 Mon Sep 17 00:00:00 2001 | |||||
From: Phil Elwell <phil@raspberrypi.org> | |||||
Date: Tue, 16 Feb 2016 16:39:09 +0000 | |||||
Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware | |||||
download | |||||
--- | |||||
tools/hciattach_bcm43xx.c | 6 ++---- | |||||
1 file changed, 2 insertions(+), 4 deletions(-) | |||||
--- a/tools/hciattach_bcm43xx.c | |||||
+++ b/tools/hciattach_bcm43xx.c | |||||
@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, | |||||
return -1; | |||||
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) { | |||||
- fprintf(stderr, "Patch not found, continue anyway\n"); | |||||
+ fprintf(stderr, "Patch not found for %s, continue anyway\n", chip_name); | |||||
} else { | |||||
- if (bcm43xx_set_speed(fd, ti, speed)) | |||||
- return -1; | |||||
- | |||||
if (bcm43xx_load_firmware(fd, fw_path)) | |||||
return -1; | |||||
@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, | |||||
return -1; | |||||
} | |||||
+ sleep(1); | |||||
if (bcm43xx_reset(fd)) | |||||
return -1; | |||||
} |
@ -0,0 +1,20 @@ | |||||
From d41dc2046dd08d8c95197f677e224506f5b39bdd Mon Sep 17 00:00:00 2001 | |||||
From: Phil Elwell <phil@raspberrypi.org> | |||||
Date: Wed, 20 Jan 2016 16:00:37 +0000 | |||||
Subject: [PATCH 3/4] Increase firmware load timeout to 30s | |||||
--- | |||||
tools/hciattach.c | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
--- a/tools/hciattach.c | |||||
+++ b/tools/hciattach.c | |||||
@@ -1293,7 +1293,7 @@ int main(int argc, char *argv[]) | |||||
{ | |||||
struct uart_t *u = NULL; | |||||
int detach, printpid, raw, opt, i, n, ld, err; | |||||
- int to = 10; | |||||
+ int to = 30; | |||||
int init_speed = 0; | |||||
int send_break = 0; | |||||
pid_t pid; |
@ -0,0 +1,20 @@ | |||||
From 76681284b0ea49852041fdb97a35175089a08781 Mon Sep 17 00:00:00 2001 | |||||
From: Phil Elwell <phil@raspberrypi.org> | |||||
Date: Tue, 23 Feb 2016 17:52:29 +0000 | |||||
Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware | |||||
--- | |||||
tools/hciattach_bcm43xx.c | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
--- a/tools/hciattach_bcm43xx.c | |||||
+++ b/tools/hciattach_bcm43xx.c | |||||
@@ -43,7 +43,7 @@ | |||||
#include "hciattach.h" | |||||
#ifndef FIRMWARE_DIR | |||||
-#define FIRMWARE_DIR "/etc/firmware" | |||||
+#define FIRMWARE_DIR "/lib/firmware/brcm" | |||||
#endif | |||||
#define FW_EXT ".hcd" |