Commit Graph

51 Commits

Author SHA1 Message Date
Gregory Nutt
31e4981192 drivers/wireless/ieee802.11: Extend Add capabilility to get firmware from a mounted file system to BCM43362. Also fix some compile/link issues introduced in the previous commit. 2018-10-07 15:00:13 -06:00
Ramtin Amin
b539d04cfb drivers/wireless/ieee802.11: Add capabilility for Broadcom chips to get firmware and CLM data from a mounted file system vs. in-memory data structures. 2018-10-07 10:03:39 -06:00
Gregory Nutt
72fd2a5e34 drivers/wireless/ieee80211/bcmf_sdio.c: Bring in another fix from the 'Haywire' port. 2018-08-25 12:05:07 -06:00
Gregory Nutt
693bf54dbc drivers/wireless/ieee80211/bcmf_sdio.c: Bring in some fixes from the 'Haywire' port. 2018-08-25 12:02:33 -06:00
Gregory Nutt
9bc951a335 Rename devif_loopback_out to devi_loopback 2018-08-25 08:33:21 -06:00
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
Xiang Xiao
467d2a58ea Replace non critical PANIC with DEBUGPANIC to save the code space 2018-08-24 06:21:15 -06:00
Gregory Nutt
1f1ead3099 drivers/wireless/ieee80211: Used nxstyle to find coding standard violations, then corrected them. 2018-08-22 17:35:17 -06:00
Gregory Nutt
dbe9b7ffb7 drivers/wireless/ieee80211/bcmf_bdc.c: Trivial check for NULL pointer. 2018-08-22 17:02:23 -06:00
Gregory Nutt
1d55bfaef8 drivers/wireless/ieee80211/bcmf_netdev.c: Add missing logic to poll for more Tx data after the last transfer completes. 2018-08-22 16:58:32 -06:00
Gregory Nutt
cc31f22213 tools/nxstyle.c: Back out part of a recent addition that was causing too many false alarms. drivers/wireless/ieee80211: Make a couple of files conform to the coding standard (and other cosmetic fixes). 2018-08-21 12:46:00 -06:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
hhuysqt
144e335b85 drivers/wiresless/ieee80211: Correct some initialization problems with BCM43362 chip. Adds BCM43428 support. arch/arm/src: Add support for SDIO card to SDIO driver.
Squashed commit of the following:

Author: Gregory Nutt <gnutt@nuttx.org>
    include/nuttx/wireless/ieee80211:  Cosmetic, coding standard changes from review of last merge.
    drivers/wireless/ieee80211:  Cosmetic, coding standard changes from review of last merge.
    configs/photon:  Cosmetic, coding standard changes from review of last merge.
    arch/arm/src/stm32:  SDIO changes from last review:  Fix a few long lines and other coding standard issues; Make additions for SDIO card support dependent on a configuration option.

Author: hhuysqt <hyq9606@126.com>
    Return IEEE 802.11 MAC address just as ethernet does
    Modifyed bcmf_board_setup_oob_irq declaration
    Modified OOB ISR function types
    Add some logic according to WICED SDK
    Bug fixed: data_offset counts in 4-bytes
    Add BCM43438 logic for future developement
    Add tips on using telnet
    Use SDIO in-band interrupt instead of OOB interrupt, because Photon seems to unconnect the OOB interrupt line...
    add SDIO in-band interrupt logic
2018-04-26 08:10:23 -06:00
Gregory Nutt
b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Gregory Nutt
da50646bcf sched/wdog: wd_start() is an internal OS function and should not set the errno value. Reviewed and updated every call to wd_start() to verify if return value is used and if so if the errno value is accessed. 2018-01-31 10:09:14 -06:00
Anthony Merlino
02721f9d95 net/icmpv6: Add some header file necessary for correct build.
drivers/wireless/ieee80211:  Fix typos and spelling errors as needed for Photon build.
2017-11-01 06:58:33 -06:00
Gregory Nutt
5b385f4d4d kthread_create(): Rename kernel_thread() to kthread_create() for better naming consistency with task_create() and kthread_delete(). 2017-10-16 11:38:00 -06:00
Gregory Nutt
29b5b3667f sched/semaphore: sem_timedwait() is a cancellation point and, hence, cannot be called from within the OS. Created nxsem_timedwait() that is equivalent but does not modify the errno and does not cause cancellation. All calls to sem_timedwait() change to calls to nxsem_timedwait() in the OS. 2017-10-05 07:24:54 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
afa0ab0819 Remove dangling whitespace form the end of lines 2017-06-17 14:13:25 -06:00
Simon Piriou
a332c4b9ce bcmf: fix issue in AP scan event processing 2017-05-21 16:04:24 +02:00
Simon Piriou
6b15c26e56 bcmf: add SIOCGIWSCAN ioctl support 2017-05-20 22:13:15 +02:00
Gregory Nutt
fa649df52e Photon: Small update from Simon Piriou. 2017-05-14 08:39:53 -06:00
Gregory Nutt
88be413a05 Remove dangling whitespace at the end of lines. 2017-05-03 18:30:40 -06:00
Gregory Nutt
97f149a40b Photon: Cosmetic changes to style detected by tools/nxstyle 2017-05-03 18:20:57 -06:00
Simon Piriou
b5e1ea4bef bcmf: fix frame not freed when dropped + cleanup 2017-05-03 23:19:28 +02:00
Simon Piriou
bd5d6ce986 bcmf: implement basic wext interface for authentication 2017-05-02 08:48:13 -06:00
Simon Piriou
fe77735960 bcmf: add netdev support for Broadcom FullMAC driver 2017-04-30 20:36:35 +02:00
Simon Piriou
0d1a79719a bcmf: add escan ioctls support + cleanup 2017-04-28 19:44:48 +02:00
Gregory Nutt
a134178034 Enabled wireless IOCTL commands in photon/wlan configuration 2017-04-26 12:30:18 -06:00
Simon Piriou
6bb2db8c15 bcmf: enable DMA for SDIO transfers 2017-04-26 17:23:53 +02:00
Gregory Nutt
ace460ad0e configs/photon/src/stm32_wlan.c: Remove unused, inappropriate network driver registration. 2017-04-25 13:02:50 -06:00
Gregory Nutt
62fc578661 wireless/ieee80211: Add BSD license information to all files (except the Broadcom files -- need to revisit those). 2017-04-24 15:11:22 -06:00
Simon Piriou
a23ac02959 bcmf: register network driver + update defconfig file 2017-04-24 20:04:47 +02:00
Simon Piriou
d72f36948e bcmf: fix Kconfig file 2017-04-24 20:02:20 +02:00
Gregory Nutt
a57c79e8b3 wireless/ieee80211: Add broadcom network device registration logic. 2017-04-24 10:43:57 -06:00
Gregory Nutt
e507a3f295 wiress/ieee80211: Broadcom network driver needs to register as an ieee802.11 driver, not an Ethernet driver. 2017-04-24 10:28:06 -06:00
Gregory Nutt
50fb7b0ba0 wireless/ieee80211: Add skeleton for a broadcom network driver. 2017-04-24 10:23:31 -06:00
Gregory Nutt
0ac6fbb3c7 drivers/ieee80211/: Change all occurrences of _info, _warn, and _err to wlinfo, wlwarn, and wlerr. 2017-04-23 16:24:47 -06:00
Simon Piriou
c0862c862f photon: cleanup and refactor bcmf driver 2017-04-23 23:39:17 +02:00
Simon Piriou
a76266106a photon: fix compilation errors and update wlan defconfig 2017-04-23 10:00:19 -06:00
Simon Piriou
22e5cec376 photon: add basic wlan scan function 2017-04-22 15:57:51 +02:00
Simon Piriou
0434528732 photon: request firmware version and MAC address 2017-04-16 13:13:11 +02:00
Simon Piriou
d646bde1f8 photon: add sdpcm tx basic support 2017-04-16 11:28:08 +02:00
Simon Piriou
11d3db5c35 photon: add sdpcm + thread support for wlan 2017-04-15 11:39:13 +02:00
Simon Piriou
e5c4a28c3a photon: wlan support 2017-04-05 21:55:21 +02:00
Simon Piriou
1f71c8ced8 bcm: update driver 2017-03-20 22:40:25 +01:00
Simon Piriou
bf9391a1fe photon: porting wlan device 2017-03-14 21:13:36 +01:00