32

I'm setting up a computer lab in which many Raspberry Pis are going to acquire IP addresses via DHCP. I'd like to have the DHCP server to differentiate between Raspberry Pis and other clients.

What are the organizationally unique identifiers (OUIs) for the Ethernet cards on Raspberry Pis with which I might discriminate Raspberry Pis from other DHCP clients?

(I am aware that MAC addresses can be spoofed and am assuming that the DHCP clients are not hostile.)

Peter Mortensen
  • 2,004
  • 2
  • 15
  • 18
200_success
  • 427
  • 1
  • 4
  • 9

11 Answers11

22

The best resource to find the most current OUI assignments is from the MAC Address Block Large (MA-L) Public Listing at the IEEE -- http://standards.ieee.org/develop/regauth/oui/public.html.

A complete list of OUI assignments is compiled daily and is available at http://standards-oui.ieee.org/oui.txt.

According to this list there is a single OUI/MA-L assignment for the Raspberry Pi Foundation:

>      B8-27-EB   (hex)         Raspberry Pi Foundation
>      B827EB     (base 16)     Raspberry Pi Foundation
>                               Mitchell Wood House
>                               Caldecote Cambridgeshire CB23 7NU
>                               UNITED KINGDOM
jdcarp
  • 321
  • 1
  • 2
14

To elaborate the answer from @cachius: the OUI has changed from

B8-27-EB   (hex)         Raspberry Pi Foundation
B827EB     (base 16)     Raspberry Pi Foundation
                         Mitchell Wood House
                         Caldecote Cambridgeshire CB23 7NU
                         UNITED KINGDOM

to

DC-A6-32   (hex)         Raspberry Pi Trading Ltd
DCA632     (base 16)     Raspberry Pi Trading Ltd
                         Maurice Wilkes Building, Cowley Road
                         Cambridge    CB4 0DS
                         GB

according to http://standards-oui.ieee.org/oui.txt.

The Raspberry Pi 4 Model B already has the new OUI.

Add also

E4-5F-01   (hex)        Raspberry Pi Trading Ltd
E45F01     (base 16)    Raspberry Pi Trading Ltd
                        Maurice Wilkes Building, Cowley Road
                        Cambridge    CB4 0DS
                        GB
Ingo
  • 42,107
  • 20
  • 85
  • 197
  • Why did it change? – james-see Nov 19 '19 at 17:28
  • @jamescampbell I don't know. I guess because the company has changed. The first bytes of a mac address are the companiy id. – Ingo Nov 19 '19 at 18:13
  • 1
    @jamescampbell: I don't know precisely why the company changed, but FYI, the original OUI was registered to the Raspberry Pi Foundation - a "registered charity" in the UK. UK laws govern finances of charities, and of course charities are not permitted to make a "profit". Here's a thumbnail sketch of their finances. It seems a reasonable guess that money is behind the decision, more specically how it is accounted for and distributed. – Seamus Dec 07 '19 at 19:20
  • @Seamus thanks for that context – james-see Dec 09 '19 at 16:41
  • 2
    @james-see: Each prefix allows for 16 million MAC addresses, so if they didn't want to re-use them (since that would make it harder for them to coexist on the same network) they would need a new prefix. As of 2022, 40 million units had been sold, so after 16 million they'd need the first change, after 32 million the next, and so on. With WiFi needing more addresses and Pico-W using more too, they need a lot more prefixes if they want to avoid re-issuing the same addresses. – Malvineous Jan 13 '24 at 16:55
  • 1
    Wow. @Malvineous thank you! That makes sense! – james-see Jan 14 '24 at 18:40
8

According to the wikipedia article you linked,

In MAC addresses, the OUI is combined with a 24-bit number (assigned by the owner or 'assignee' of the OUI) to form the address. The first three octets of the address are the OUI.

So this is pretty straightforward; the first half of a MAC address is the OUI and the second half is arbitrary.

Lo and behold, on the four pis I have here (two B's, one made in China, one B+, and one pi 2), the first three octets are:

b8 27 eb

Doing a bit of random searching online ("raspberry pi MAC address") also turns up this OUI.

Seamus
  • 21,900
  • 3
  • 33
  • 70
goldilocks
  • 58,859
  • 17
  • 112
  • 227
6

"Current" data for Raspberry Pi devices:

MA-L/OUI MAC address prefixes: 6

28:CD:C1
2C:CF:67
B8:27:EB
D8:3A:DD
DC:A6:32
E4:5F:01

MA-L: Mac Address Block Large (previously named OUI). Number of address 2^24 (~16 Million)

CID prefix: 1

3A:35:41

CID: Company Identifier. This prefix will not be used for globally unique applications. Number of address 2^24 (~16 Million)

Sources:
https://maclookup.app/vendors/raspberry-pi-trading-ltd
https://maclookup.app/vendors/raspberry-pi-foundation https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries

FYI, my Pico W has a 28:CD:C1 address.

You can fetch the most up to date MA-L data from the IEEE with this one-liner:

curl -sSL https://standards-oui.ieee.org/oui/oui.txt \
  | grep -i '[(]hex[)].*raspberry' \
  | sort

28-CD-C1 (hex) Raspberry Pi Trading Ltd 2C-CF-67 (hex) Raspberry Pi (Trading) Ltd B8-27-EB (hex) Raspberry Pi Foundation D8-3A-DD (hex) Raspberry Pi Trading Ltd DC-A6-32 (hex) Raspberry Pi Trading Ltd E4-5F-01 (hex) Raspberry Pi Trading Ltd

You can fetch the most up to date CID data from the IEEE with this one-liner:

curl -sSL https://standards-oui.ieee.org/cid/cid.txt \
  | grep -i '[(]hex[)].*raspberry' \
  | sort

3A-35-41 (hex) Raspberry Pi (Trading) Ltd

Bruno Bronosky
  • 1,460
  • 17
  • 19
Adam Howell
  • 176
  • 1
  • 5
  • 1
    As of 4 January 2024 both the 28:CD:C1 and D8:3A:DD are now registered to Raspberry Pi Trading Ltd, per the IEEE OUI database. – devstuff Jan 04 '24 at 17:55
  • 1
    3A:35:41 is a CID (Company ID) https://maclookup.app/macaddress/3a3541 – devstuff Jan 04 '24 at 18:25
4

The below script can be used to find any vendor by Mac: Raspberry Pi or otherwise.

Just supply the vendor's name as it's specified in the IEEE's MAC DB:

"http://standards-oui.ieee.org/oui.txt"

in the variable "VENDOR" and of course replace the echo's in the conditional expression with something useful.

In its' present form it's meant to execute locally on a host, but the script could be adapted quite easily I imagine.

#!/bin/bash

#set -x

VENDOR='Raspberry Pi'
OUI=`ip addr list | grep -w link | awk '{print $2}' | grep -P "^(?!00:00:00)"| grep -P "^(?!fe80)" | tr -d ":" | head -c 6`

if [[ $( curl -sS "http://standards-oui.ieee.org/oui.txt" | grep -i "$OUI" | grep -o "$VENDOR" ) = 'Raspberry Pi' ]]; then
        echo "This is a Pi"
else
        echo "This is NOT a Pi"
fi

It is worth noticing, that the companyname (in the oui.txt) changed with the new Pi4:

  • B8-27-EB (hex) Raspberry Pi Foundation
  • DC-A6-32 (hex) Raspberry Pi Trading Ltd.
Dougie
  • 5,301
  • 10
  • 19
  • 28
F1Linux
  • 1,667
  • 1
  • 12
  • 30
  • Thanks for the script! I edited it to still work with the different Raspberry company names that came with the Pi 4. – Stefan Wegener Oct 07 '19 at 12:15
  • @StefanWegener Sooper-dooper! Thanks for helping keep answers current! – F1Linux Oct 07 '19 at 12:18
  • For an online search, https://regauth.standards.ieee.org/ has the most up-to-date data. Choose the "All MAC" product. – devstuff Jan 04 '24 at 18:01
  • https://standards.ieee.org/products-programs/regauth/ offers links to download MAC assignment lists for the large, medium and small ranges. RPi is only in the MA-L list but a general search script would need to download all 3 files. NOTE: the links on the page are currently rendered as http:// but the equivalent https:// links work fine. – devstuff Jan 04 '24 at 18:15
3

To add to what @Ingo said, they actually have a third OUI now: E4-5F-01

Not sure why that happened either, but I have hardware with a MAC with that OUI.

I'd have commented that, but don't have enough reputation.

ajs124
  • 31
  • 1
3

It is worth noting that the MAC-48 number applies to the Network Interface and not the Host device and thus the B8:27:EB applies only to the wired EtherNet interface on older Raspberry Pi devices that do not have a built-in Broadcomm device providing Wireless networking!

A WiFi USB dongle added to give an RPi wireless-networking where it does not have it natively will have a OUI that is specific (one hopes) to the manufacturer - though there are now utilities to fake the whole MAC number for good (or evil) purposes. This is important should you be trying to find older RPis wirelessly and wondering why you cannot see MACs beginning with that value...

SlySven
  • 3,621
  • 1
  • 18
  • 45
2

The Raspberry Pi 4 has

DC:A6:32:xx:xx:xx (Raspberry Pi Trading)

according to the Raspberry Pi Forums.

cachius
  • 121
  • 2
2

In my very personal case.

recovery    b8:27:eb:c2:37:9d

OUI search

b8:27:eb

Find Results B8:27:EB Raspberry Pi Foundation

user51998
  • 21
  • 1
2

Both the Ethernet and the Wifi on the RPi3 (Raspberry Pi 3) have are prefixed b8:27:eb.

pi@raspberrypi:~ $ ifconfig | egrep "(ether|flags)"
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:27:eb:ad:78:e4  txqueuelen 1000  (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:27:eb:f8:2d:b1  txqueuelen 1000  (Ethernet)
fadedbee
  • 123
  • 4
0

confirming a reception of an rpi in the mac range D8:3A:DD, with 4GB RAM.

cannot upvote yet, otherwise I would have done that instead.