Proxmark3 community

Research, development and trades concerning the powerful Proxmark3 device.

Remember; sharing is caring. Bring something back to the community.


"Learn the tools of the trade the hard way." +Fravia

You are not logged in.

Announcement

Time changes and with it the technology
Proxmark3 @ discord

Users of this forum, please be aware that information stored on this site is not private.

#1 2019-07-29 11:21:12

squishy
Contributor
Registered: 2019-02-18
Posts: 14

Bootloader Doesnt Understand CMD_BL_Version

Hi,
I just got my proxmark3 rdv4.0 back from my friend who was using it the weekend and when I wanted to flash the prox im getting this certain error,

Flash command:
          client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf

[+] Waiting for Proxmark3 to appear on /dev/ttyACM0           
.....Found           
[+] Entering bootloader...           
[+] (Press and release the button only to abort )          
[+] Waiting for Proxmark3 to appear on /dev/ttyACM0           
........... Found           
[!!] Note: Your bootloader does not understand the new CMD_BL_VERSION command           
[!!] It is recommended that you first update your bootloader alone,           
[!!] reboot the Proxmark3 then only update the main firmware 
          
Available memory on this board: UNKNOWN 
          
[!!] Note: Your bootloader does not understand the new CHIP_INFO command           
[!!] It is recommended that you first update your bootloader alone,           
[!!] reboot the Proxmark3 then only update the main firmware 
          
[=] Permitted flash range: 0x00100000-0x00140000          
[+] Loading ELF file bootrom/obj/bootrom.elf           
[+] Loading usable ELF segments:          
[+]    0 : V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94          
[+]    1 : V 0x00200000 P 0x00100200 (0x00000e30->0x00000e30) [R X] @0x298          
          
[+] Loading ELF file armsrc/obj/fullimage.elf           
[+] Loading usable ELF segments:          
[+]    0 : V 0x00102000 P 0x00102000 (0x0003e108->0x0003e108) [R X] @0x94          
[!!] Error: PHDR is not contained in Flash          
[!!] Aborted on error.  

I dont know what's happening with the device but it seems like I cant reflash it with a new image. Is there a way where I can wipe the device memory clean or factory reset it in order for me to flash it?

Update:
I know wassup now, the firmware that was flashed in my RDV4.0 was for proxmark3 https://github.com/iceman1001/proxmark3 , so, now when I try to reflash it for the RDV4.0 it give me that output error.

Last edited by squishy (2019-07-29 11:53:21)

Offline

#2 2019-07-29 14:13:39

mwalker
Moderator
Registered: 2019-05-11
Posts: 318

Re: Bootloader Doesnt Understand CMD_BL_Version

Did you try updating just the boot loader first (like it suggested)

[!!] Note: Your bootloader does not understand the new CMD_BL_VERSION command           
[!!] It is recommended that you first update your bootloader alone,           
[!!] reboot the Proxmark3 then only update the main firmware

Then after the reboot, then try the flash.
e.g.
client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf
reboot the device
client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf

Offline

#3 2019-07-31 10:03:58

squishy
Contributor
Registered: 2019-02-18
Posts: 14

Re: Bootloader Doesnt Understand CMD_BL_Version

mwalker wrote:

Did you try updating just the boot loader first (like it suggested)

[!!] Note: Your bootloader does not understand the new CMD_BL_VERSION command           
[!!] It is recommended that you first update your bootloader alone,           
[!!] reboot the Proxmark3 then only update the main firmware

Then after the reboot, then try the flash.
e.g.
client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf
reboot the device
client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf


Yeah, it got fixed...thanx a lot.

Offline

#4 2019-08-01 03:17:37

mwalker
Moderator
Registered: 2019-05-11
Posts: 318

Re: Bootloader Doesnt Understand CMD_BL_Version

Good to hear.

Since its now solved, it would be worth adding the prefix [solved] to your title.

Offline

#5 2019-08-24 17:38:31

UltrashRicco
Contributor
Registered: 2018-04-11
Posts: 5

Re: Bootloader Doesnt Understand CMD_BL_Version

Hi all!

I am running into some kind of similar problem when attempting to flash my Proxmark3 Easy with the latest RRG/Iceman firmware.

I was able to flash the bootloader with no issue:

pi@Bicing2Demo:~/iceman $ sudo ./flash-bootrom.sh
[=] Waiting for Proxmark3 to appear...
[+] Waiting for Proxmark3 to appear on /dev/ttyACM0
.Found
[+] Entering bootloader...
[+] (Press and release the button only to abort )
[+] Waiting for Proxmark3 to appear on /dev/ttyACM0
........... Found
[!!] ====================== OBS ! ===========================================
[!!] Note: Your bootloader does not understand the new CMD_BL_VERSION command
[!!] It is recommended that you first update your bootloader alone,
[!!] reboot the Proxmark3 then only update the main firmware

[=] Available memory on this board: UNKNOWN

[!!] ====================== OBS ! ======================================
[!!] Note: Your bootloader does not understand the new CHIP_INFO command
[!!] It is recommended that you first update your bootloader alone,
[!!] reboot the Proxmark3 then only update the main firmware

[=] Permitted flash range: 0x00100000-0x00140000
[+] Loading ELF file bootrom/obj/bootrom.elf
[+] Loading usable ELF segments:
[+]    0 : V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
[+]    1 : V 0x00200000 P 0x00100200 (0x00000df0->0x00000df0) [R X] @0x298


[+] Flashing...

[+] Writing segments for file: bootrom/obj/bootrom.elf
[+]  0x00100000..0x001001ff [0x200 / 1 blocks]
. OK
[+]  0x00100200..0x00100fef [0xdf0 / 7 blocks]
....... OK


[+] All done.

Have a nice day!

But then when I attempt either a

./flash-all.sh

or

./flash-fullimage.sh

I am getting the following error:

pi@Bicing2Demo:~/iceman $ sudo ./flash-all.sh
[=] Waiting for Proxmark3 to appear...
[+] Waiting for Proxmark3 to appear on /dev/ttyACM0
.Found
[+] Entering bootloader...
[+] (Press and release the button only to abort )
[+] Waiting for Proxmark3 to appear on /dev/ttyACM0
. Found
[=] Available memory on this board: 256K bytes

[=] Permitted flash range: 0x00100000-0x00140000
[+] Loading ELF file bootrom/obj/bootrom.elf
[+] Loading usable ELF segments:
[+]    0 : V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
[+]    1 : V 0x00200000 P 0x00100200 (0x00000df0->0x00000df0) [R X] @0x298

[+] Loading ELF file armsrc/obj/fullimage.elf
[+] Loading usable ELF segments:
[+]    0 : V 0x00102000 P 0x00102000 (0x0003ecc0->0x0003ecc0) [R X] @0x94
[!!] Error: PHDR is not contained in Flash
[!!] Aborted on error.

Have a nice day!

I am running Raspbian on a Raspberry Pi 3B+. Same results with Kali.

Any idea regarding what is wrong? Is my Proxmark Easy compatible?

This bootrom image is compatible with the offical firmware, so I am fine and do not have to flash bootroms back and forth, but I would still like to try out the Iceman firmware!

Many thanks in advance,
Regards!

Last edited by UltrashRicco (2019-08-24 17:45:03)

Offline

#6 2019-08-24 20:04:13

iceman
Administrator
Registered: 2013-04-25
Posts: 9,538
Website

Re: Bootloader Doesnt Understand CMD_BL_Version

... that would be because you are try to flash a large fullimage over on a device with only 256kb.

I suggest reading the instructions on compile/flashing RRG/Iceman repo.

Offline

#7 2019-08-24 20:07:49

UltrashRicco
Contributor
Registered: 2018-04-11
Posts: 5

Re: Bootloader Doesnt Understand CMD_BL_Version

Thank you Iceman, I thought I did, but obviously not quite!

Found more info under the advanced compilation parameters indeed: https://github.com/RfidResearchGroup/pr … ameters.md

I guess that will do the job,
Thank you!

Last edited by UltrashRicco (2019-08-24 20:27:28)

Offline

#8 2019-08-24 20:44:09

UltrashRicco
Contributor
Registered: 2018-04-11
Posts: 5

Re: Bootloader Doesnt Understand CMD_BL_Version

It did work indeed, despite my device having a limited 256k memory.

My bad, I was not immediately obivous to me that it took custom parameters to compile it for other devices than the new RDV4.

I hope this can help other people facing the same issue... read the manual, other devices require that a Makefile.platform file is created in order to set the compilation parameters right. The default parameters are for the RDV4 only.

Sorry and thanks again for your time!

Last edited by UltrashRicco (2019-08-24 20:47:18)

Offline

#9 2019-08-25 20:19:17

iceman
Administrator
Registered: 2013-04-25
Posts: 9,538
Website

Re: Bootloader Doesnt Understand CMD_BL_Version

And that is why we wrote the instructions in the first place.  If they are not accurate,  please let us know.

Since your issue seems to be resolved,   I suggest you edit your first post and add the prefix [solved] to your title.

Offline

#10 2019-08-25 20:24:38

UltrashRicco
Contributor
Registered: 2018-04-11
Posts: 5

Re: Bootloader Doesnt Understand CMD_BL_Version

I cannot edit the fisrt post as I am not the OP.

It is clear enough that this branch is mostly oriented at the RDV4, but I think it would be worth mentionning that other devices are supported, perhaps on the main page, with a link to the compilation parameters page.

Thanks,

Offline

#11 2020-11-18 21:38:04

zissilia
Contributor
From: Greece
Registered: 2020-10-12
Posts: 31

Re: Bootloader Doesnt Understand CMD_BL_Version

the same problem with me i am new am try to install the proxmark3 rvd4.01  2 weeks now with in 3 different OS with wrong way because is old drivers and many instarctions in old posts in sites finally he help me one man from forum yesterday i manage to make work in win10x32 with proxmark tool   its but dint recognize the t5577 cart ,i try many settings
i measure the antenna from application and I change the configurations of  buttons  ,with button  LF=134  Q=7 No response
,with LF=134  Q=14 is ok  i test with other  drivers and i FLASH - Bootrom.bat with difernt versions i made 2 successfully  with different versions in 3rd its stuck and i noticed when i run  in cmd ( proxmark3 cannot communicate with proxmark unknown command 0x61334d50)  and in device manager it change the name  from proxmark3 instrument now is serial DEVICE USB COM5, i tried to make some flash again bootrom .bat  now is problem with boot loader when you run and is connected in com5 it say waiting for connection i disconnect and connect again it find to com8 i edit the FLASH - Bootrom.bat in com8   and i did with FLASH - fullimage.bat in com8 the problem  stack i one address ,
finaly with Proxmark tool  its say when you add com5  Version information not available

when I start the tool  and select to com 5 its say

Proxmark bootrom: /-suspect 2015-11-04 22:15:34
      os: Version information not available
[ FPGA ]
LF image built for 2s30vq100 on 2018/ 9/ 8 at 13:57:51
HF image built for 2s30vq100 on 2018/ 9/ 3 at 21:40:23         
uC: AT91SAM7S512 Rev A         
Embedded Processor: ARM7TDMI         
Nonvolatile Program Memory Size: 512K bytes. Used: 245529 bytes (47%). Free: 278759 bytes (53%).         
Second Nonvolatile Program Memory Size: None         
Internal SRAM Size: 64K bytes         
Architecture Identifier: AT91SAM7Sxx Series         
Nonvolatile Program Memory Type: Embedded Flash Memory

but still can read hf cards  and i manage to simulate
some times stuck
how can fix the boot loader the flash is not working

Offline

#12 2020-11-19 03:45:26

mwalker
Moderator
Registered: 2019-05-11
Posts: 318

Re: Bootloader Doesnt Understand CMD_BL_Version

with the T55xx cards, I would recommended 125Khz and Q="7"

If you are using the RRG (as would be recommended for the RDV4, it seems like you may have old firmware
e.g. The FPGA should be this year (2020) not 2018

Can you post the complete output from
hw ver

then the complete output from
hw status


Thanks

Offline

#13 2020-11-19 16:34:11

zissilia
Contributor
From: Greece
Registered: 2020-10-12
Posts: 31

Re: Bootloader Doesnt Understand CMD_BL_Version

i bought 1 month before but i manage to make working 3 days ago

proxmark3> hw ver
[[[ Cached information ]]]
Prox/RFID mark3 RFID instrument         
[ ARM ]
bootrom: /-suspect 2015-11-04 22:15:34
      os: Version information not available
[ FPGA ]
LF image built for 2s30vq100 on 2018/ 9/ 8 at 13:57:51
HF image built for 2s30vq100 on 2018/ 9/ 3 at 21:40:23         
uC: AT91SAM7S512 Rev A         
Embedded Processor: ARM7TDMI         
Nonvolatile Program Memory Size: 512K bytes. Used: 245529 bytes (47%). Free: 278759 bytes (53%).         
Second Nonvolatile Program Memory Size: None         
Internal SRAM Size: 64K bytes         
Architecture Identifier: AT91SAM7Sxx Series         
Nonvolatile Program Memory Type: Embedded Flash Memory         
proxmark3>

Offline

#14 2020-11-19 16:40:24

zissilia
Contributor
From: Greece
Registered: 2020-10-12
Posts: 31

Re: Bootloader Doesnt Understand CMD_BL_Version

and hw status :

 

 proxmark3>  hw status
#db# Memory                 
#db#   BIGBUF_SIZE.............40000                 
#db#   Available memory........39988                 
#db# Tracing                 
#db#   tracing ................1                 
#db#   traceLen ...............0                 
#db# Currently loaded FPGA image                 
#db#   mode.................... HF image built for 2s30vq100 on 2018/ 9/ 3 at 21:40:23                 
#db# Flash memory                 
#db#   Baudrate................24MHz                 
#db#   Init....................OK                 
#db#   Memory size.............2 mbits / 256kb                 
#db#   Unique ID...............0xd5690c23df3b752a                 
#db# Smart card module (ISO 7816)                 
#db#   version.................v3.0a                 
#db# LF Sampling config                 
#db#   [q] divisor.............95 (125 KHz)                 
#db#   [b] bps.................8                 
#db#   [d] decimation..........1                 
#db#   [a] averaging...........Yes                 
#db#   [t] trigger threshold...0                 
#db# LF T55XX config                 
#db#   [a] startgap............29*8 (232)                 
#db#   [ b ] writegap............17*8 (136)                 
#db#   [c] write_0.............15*8 (120)                 
#db#   [d] write_1.............47*8 (376)                 
#db#   [e] readgap.............15*8 (120)                 
#db# USB Speed                 
#db#   Sending USB packets to client...                 
#db#   Time elapsed............1500ms                 
#db#   Bytes transferred.......764416                 
#db#   USB Transfer Speed PM3 -> Client = 509610 Bytes/s                 
#db# Various                 
#db#   MF_DBGLEVEL.............1                 
#db#   ToSendMax...............-1                 
#db#   ToSendBit...............0                 
#db#   ToSend BUFFERSIZE.......2308                 
#db# Installed StandAlone Mode                 
#db#    LF HID26 standalone - aka SamyRun (Samy Kamkar)                 
proxmark3> 

Offline

#15 2020-11-19 21:07:00

mwalker
Moderator
Registered: 2019-05-11
Posts: 318

Re: Bootloader Doesnt Understand CMD_BL_Version

It all seems a bit old.  So I think first steps will be to try and bring up to the latest.
Are you downloading and compiling yourself ?
the high level steps will be

git clone the latest from the rrg repo.
make clean
make all
then resolve any issues with the compile (e.g. missing things in your setup).

Once a clean compile., then flash the bootloader by itself (the just compiled).
resolve any issues in doing that.

The last step, flash the current os.

there is lot of guides at the repo : https://github.com/RfidResearchGroup/proxmark3
So if you get stuck at any point and cant find the fix, post back here and we can help fix that issue.

A few things have changed in the firmware/bootloader to support the bigger images, so first time round I suggest as above and by hand.  Then once on the latest, it should be simpler.

Note: It is very important that the client and os (proxmark firmware) are on the same release/compiled code, as things can change over time.

Offline

#16 2020-11-19 22:07:07

zissilia
Contributor
From: Greece
Registered: 2020-10-12
Posts: 31

Re: Bootloader Doesnt Understand CMD_BL_Version

no i download i dont know to compile this : (git clone the latest from the rrg repo.
make clean
make all .)
i ask  this commands is for linux ? i thing just see them how to install in parot linux

many guides yes  i see all and in forum  but wich one exacly is for win7x64 or win10x32 or win10x64  ? thats way i confused  for 2 weeks i was trying to make work with many guides and instaructions and old  posts in internet
the only i dint to use in linux but i will
me i use now the proxmark tool is more practical but the driver is diferent from latest driver ,used and Pre compiled binaries for 32 and 64ver of windows and the pm3-bin-2.4.0 the proxmark master no idint
but every time i change pc wich are diferrent os other with win7 other with win10 i must make flash i dont want to make brick and i dont have programmer cost 150e extra and the adaptor 35e
the problem is  in the begining i made 2 time succesful the firmware of bootloader and the 3rd  is stuck
i try 3 times but is in contect to com5 he say waiting to conect and i diskonect and i connect again and it change com to 8 so after 2 times i change the com to bat files to com8 and have this error i have screenshut but i dont know to post here
the other is i try with android RPG rfid tools wich support many hardware but is not working before the latest flashes

Last edited by zissilia (2020-11-19 23:56:52)

Offline

#17 2020-11-21 14:08:56

zissilia
Contributor
From: Greece
Registered: 2020-10-12
Posts: 31

Re: Bootloader Doesnt Understand CMD_BL_Version

i fix it in linux lubundu 18  some libs programs dint download so i get them from sinoptic after 5 hurs i manage to make work i and succesful flash

Prepping your Proxmark3 RDV4	
Uploading dictionaries to RDV4 flashmemory	
----------------------------------------	
[=] treating file as MIFARE Classic keys
[+] loaded 1010 keys from dictionary file /usr/local/bin/../share/proxmark3/dictionaries/mfc_default_keys.dic
[+] Wrote 6062 bytes to offset 233472
[=] treating file as T55xx passwords
[+] loaded 112 keys from dictionary file /usr/local/bin/../share/proxmark3/dictionaries/t55xx_default_pwds.dic
[+] Wrote 450 bytes to offset 245760
[=] treating file as iCLASS keys
[+] loaded  7 keys from dictionary file /usr/local/bin/../share/proxmark3/dictionaries/iclass_default_keys.dic
[+] Wrote 58 bytes to offset 241664
----------------------------------------	
Configure T55XX device side to match RDV4	
----------------------------------------	
[#] LF T55XX config
[#]            [r]               [a]   [b]   [c]   [d]   [e]   [f]   [g]
[#]            mode            |start|write|write|write| read|write|write
[#]                            | gap | gap |  0  |  1  | gap |  2  |  3
[#] ---------------------------+-----+-----+-----+-----+-----+-----+------
	
	
[#] fixed bit length (default) |  29 |  17 |  15 |  47 |  15 | N/A | N/A | 
?[!!]  UART:: write time-out
[#]     long leading reference |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#]               leading zero |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#]    1 of 4 coding reference |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#] 
[#] LF T55XX config
[#]            [r]               [a]   [b]   [c]   [d]   [e]   [f]   [g]
[#]            mode            |start|write|write|write| read|write|write
[#]                            | gap | gap |  0  |  1  | gap |  2  |  3
[#] ---------------------------+-----+-----+-----+-----+-----+-----+------
[#] fixed bit length (default) |  29 |  17 |  15 |  47 |  15 | N/A | N/A | 
[#]     long leading reference |  29 |  17 |  18 |  50 |  15 | N/A | N/A | 
[#]               leading zero |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#]    1 of 4 coding reference |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#] 
[#] LF T55XX config
[#]            [r]               [a]   [b]   [c]   [d]   [e]   [f]   [g]
[#]            mode            |start|write|write|write| read|write|write
[#]                            | gap | gap |  0  |  1  | gap |  2  |  3
[#] ---------------------------+-----+-----+-----+-----+-----+-----+------
[#] fixed bit length (default) |  29 |  17 |  15 |  47 |  15 | N/A | N/A | 
[#]     long leading reference |  29 |  17 |  18 |  50 |  15 | N/A | N/A | 
[#]               leading zero |  29 |  17 |  18 |  40 |  15 | N/A | N/A | 
[#]    1 of 4 coding reference |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#] 
[#] Memory
[#]   BigBuf_size.............42160
[#]   Available memory........42160
[#] Tracing
[#]   tracing ................1
[#]   traceLen ...............0
[#]   dma8 memory.............-2112008
[#]   dma16 memory............-2112008
[#]   toSend memory...........-2112008
[#] Current FPGA image
[#]   mode.................... HF image built for 2s30vq100 on 2020-07-08 at 23: 8:19
[#] Flash memory
[#]   Baudrate................24 MHz
[#]   Init....................OK
[#]   Memory size.............2 mbits / 256 kb
[#]   Unique ID...............0xD5690C23DF3B752A
[#] Smart card module (ISO 7816)
[#]   version.................v3.10
[#] LF Sampling config
[#]   [q] divisor.............95 ( 125.00 kHz )
[#]   [b] bits per sample.....8
[#]   [d] decimation..........1
[#]   [a] averaging...........No
[#]   [t] trigger threshold...0
[#]   [s] samples to skip.....0 
[#] LF Sampling Stack
[#]   Max stack usage.........4128 / 8480 bytes
[#] LF T55XX config
[#]            [r]               [a]   [b]   [c]   [d]   [e]   [f]   [g]
[#]            mode            |start|write|write|write| read|write|write
[#]                            | gap | gap |  0  |  1  | gap |  2  |  3
[#] ---------------------------+-----+-----+-----+-----+-----+-----+------
[#] fixed bit length (default) |  29 |  17 |  15 |  47 |  15 | N/A | N/A | 
[#]     long leading reference |  29 |  17 |  18 |  50 |  15 | N/A | N/A | 
[#]               leading zero |  29 |  17 |  18 |  40 |  15 | N/A | N/A | 
[#]    1 of 4 coding reference |N/A | N/A | N/A | N/A | N/A | N/A | N/A | 
[#] 
[#] HF 14a config
[#]   [a] Anticol override....0 ( No ) follow standard 
[#]   [b] BCC override........0 ( No ) follow standard
[#]   [2] CL2 override........0 ( No ) follow standard
[#]   [3] CL3 override........0 ( No ) follow standard
[#]   [r] RATS override.......0 ( No ) follow standard 
[#] Transfer Speed
[#]   Sending packets to client...
[#]   Time elapsed............500ms
[#]   Bytes transferred.......205824
[#]   Transfer Speed PM3 -> Client = 411648 bytes/s
[#] Various
[#]   Max stack usage.........4128 / 8480 bytes
[#]   DBGLEVEL................1 ( ERROR )
[#]   ToSendMax...............10
[#]   ToSend BUFFERSIZE.......2308
[#]   Slow clock..............29177 Hz
[#] Installed StandAlone Mode
[#]   HF - Reading Visa cards & Emulating a Visa MSD Transaction(ISO14443) - (Salvador Mendoza)
[#] Flash memory dictionary loaded
[#]   Mifare..................1010 keys
[#]   T55x7...................112 keys
[#]   iClass..................7 keys
----------------------------------------	
all done!	

i tried to search  the imobbilasier tag iside the keys is Megamos Crypto key fob and maby is EM4170 do you how we do it i tryit in my carkey it not recognize

Last edited by zissilia (2020-11-24 19:25:14)

Offline

#18 2021-03-18 13:01:45

YoungJules
Contributor
Registered: 2012-01-29
Posts: 60

Re: Bootloader Doesnt Understand CMD_BL_Version

Thanks UltrashRicco. Your post was the final piece of the puzzle. I know and appreciate that it's all documented but sometimes it's easy to miss something and it just takes a post like yours to make the lightbulb go on over the head! smile

Offline

Board footer

Powered by FluxBB