text: Title: Advertisements only seldom received/displayed
  Body: * bleak version: 0.18.1
  * Python version: Python 3.9.2
  * Operating System: Linux test 5.15.61-v7l+ #1579 SMP Fri Aug 26 11:13:03 BST 2022 armv7l GNU/Linux
  * BlueZ version (`bluetoothctl -v`) in case of Linux: 5.55
  
  ### Description
  
  I have a device which is sending a lot advertisements. I said it to do in maximum speed.
  
  test@test:~/bleak $ sudo hcitool lescan --duplicate
  LE Scan ...
  E4:5F:01:BA:05:2D (unknown)
  E4:5F:01:BA:05:2D
  E4:5F:01:BA:05:2D (unknown)
  E4:5F:01:BA:05:2D
  E4:5F:01:BA:05:2D (unknown)
  E4:5F:01:BA:05:2D
  
  I can see it advertising at a high speed (around 40 advertisements per second).
  
  Then I use (from example):
  
  ```
  test@test:~/bleak $ cat detection.py
  ```
  
  ```python
  """
  Detection callback w/ scanner
  --------------
  Example showing what is returned using the callback upon detection functionality
  Updated on 2020-10-11 by bernstern <bernie@allthenticate.net>
  """
  
  import asyncio
  import logging
  import sys
  
  from bleak import BleakScanner
  from bleak.backends.device import BLEDevice
  from bleak.backends.scanner import AdvertisementData
  
  logger = logging.getLogger(__name__)
  
  
  def simple_callback(device: BLEDevice, advertisement_data: AdvertisementData):
      logger.info(f"{device.address}: {advertisement_data}")
  
  
  async def main(service_uuids):
      scanner = BleakScanner(simple_callback, service_uuids)
  
      while True:
          print("(re)starting scanner")
          await scanner.start()
          await asyncio.sleep(5.0)
          await scanner.stop()
  
  
  if __name__ == "__main__":
      logging.basicConfig(
          level=logging.INFO,
          format="%(asctime)-15s %(name)-8s %(levelname)s: %(message)s",
      )
      service_uuids = sys.argv[1:]
      asyncio.run(main(service_uuids))
  
  test@test:~/bleak $
  
  ```
  It gives the following output:
  
  ```
  $ python3 detection.py
  (re)starting scanner
  2022-10-05 13:16:40,784 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\x98\xc3\x01'})
  2022-10-05 13:16:45,775 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\x98\xc3\x01'})
  (re)starting scanner
  2022-10-05 13:16:45,798 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xb1\xc3\x01'})
  2022-10-05 13:16:50,799 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xb1\xc3\x01'})
  (re)starting scanner
  2022-10-05 13:16:50,819 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xca\xc3\x01'})
  2022-10-05 13:16:55,823 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xca\xc3\x01'})
  (re)starting scanner
  2022-10-05 13:16:55,838 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xe3\xc3\x01'})
  
  ```
  
  It gives only seldom data, far away from 40 per second.
  I assume the checked fields remain equal, but there shall be at least a counter inside, which increases every 200ms.
  So I assume at least I should see an output every 200ms?
  
  Could I tell Bleak to display every received advertisement?
  Why is stop/restart needed? Just that duplicates are reported again? 
  Or do I somehow need to tell BlueZ under Bleak to use something like lescan with --duplicate?
  
  Or could it be that problem is on sender side? Advertisement data not correct? Or only sometimes correct?