Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. trying to figure out if i suck at programming or if realtek has byte-reversed their own OUI in addition to bit-reversing it as the spec needs

trying to figure out if i suck at programming or if realtek has byte-reversed their own OUI in addition to bit-reversing it as the spec needs

Scheduled Pinned Locked Moved Uncategorized
20 Posts 5 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

    grabbed a random other PHY, from MaxLinear

    they use an OUI that doesn't exist in any of the OUI databases I've checked

    azonenberg@ioc.exchangeA This user is from outside of this forum
    azonenberg@ioc.exchangeA This user is from outside of this forum
    azonenberg@ioc.exchange
    wrote last edited by
    #6

    @whitequark lol i worked on a chip years ago that used transmeta's OUI for its JTAG interface.

    It waa definitely not a transmeta part. But at least it was *a* real OUI?

    azonenberg@ioc.exchangeA 1 Reply Last reply
    0
    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

      grabbed a random other PHY, from MaxLinear

      they use an OUI that doesn't exist in any of the OUI databases I've checked

      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systems
      wrote last edited by
      #7

      found another random PHY

      looks like the byte-reversal is not realtek's invention. but why the fuck is it needed?

      >>> hex(int('0000000000100010000101'[::-1],2)<<2)
      '0xa11000'
      Link Preview Image
      david_chisnall@infosec.exchangeD 1 Reply Last reply
      0
      • azonenberg@ioc.exchangeA azonenberg@ioc.exchange

        @whitequark lol i worked on a chip years ago that used transmeta's OUI for its JTAG interface.

        It waa definitely not a transmeta part. But at least it was *a* real OUI?

        azonenberg@ioc.exchangeA This user is from outside of this forum
        azonenberg@ioc.exchangeA This user is from outside of this forum
        azonenberg@ioc.exchange
        wrote last edited by
        #8

        @whitequark (also there's more OUIs than address space in compressed formats like JTAG so there's some kind of weird address space compression paging going on that I don't fully grok for companies founded since like the 80s)

        whitequark@social.treehouse.systemsW 1 Reply Last reply
        0
        • azonenberg@ioc.exchangeA azonenberg@ioc.exchange

          @whitequark (also there's more OUIs than address space in compressed formats like JTAG so there's some kind of weird address space compression paging going on that I don't fully grok for companies founded since like the 80s)

          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systems
          wrote last edited by
          #9

          @azonenberg I don't think JTAG uses OUIs?

          azonenberg@ioc.exchangeA 1 Reply Last reply
          0
          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

            @azonenberg I don't think JTAG uses OUIs?

            azonenberg@ioc.exchangeA This user is from outside of this forum
            azonenberg@ioc.exchangeA This user is from outside of this forum
            azonenberg@ioc.exchange
            wrote last edited by
            #10

            @whitequark oh right JEP106 is JEDEC I'm mixing it up with something

            whitequark@social.treehouse.systemsW 1 Reply Last reply
            0
            • azonenberg@ioc.exchangeA azonenberg@ioc.exchange

              @whitequark oh right JEP106 is JEDEC I'm mixing it up with something

              whitequark@social.treehouse.systemsW This user is from outside of this forum
              whitequark@social.treehouse.systemsW This user is from outside of this forum
              whitequark@social.treehouse.systems
              wrote last edited by
              #11

              @azonenberg JEP106 does however use the weird address space compression paging

              1 Reply Last reply
              0
              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                this can't just be me, right

                >>> hex(int("0000000000011100110010",2)) # what Realtek says
                '0x732'
                >>> hex(int("0000000000011100110010"[::-1],2)<<2) # what IEEE 802.3 says
                '0x4ce000'
                00-E0-4C   (hex)        REALTEK SEMICONDUCTOR CORP.

                (what the IEEE list says)

                Link Preview Image
                darius@mastodon.cloudD This user is from outside of this forum
                darius@mastodon.cloudD This user is from outside of this forum
                darius@mastodon.cloud
                wrote last edited by
                #12

                @whitequark FYI FreeBSD has:
                Vendors do obviously not agree how OUIs (24 bit) are mapped to the 22 bits available in the id registers.
                IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
                (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998, about this.)
                ...
                If a vendor uses a different mapping, an "xx" prefixed OUI is defined here which is mangled accordingly to compensate.

                whitequark@social.treehouse.systemsW 1 Reply Last reply
                0
                • darius@mastodon.cloudD darius@mastodon.cloud

                  @whitequark FYI FreeBSD has:
                  Vendors do obviously not agree how OUIs (24 bit) are mapped to the 22 bits available in the id registers.
                  IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
                  (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998, about this.)
                  ...
                  If a vendor uses a different mapping, an "xx" prefixed OUI is defined here which is mangled accordingly to compensate.

                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                  whitequark@social.treehouse.systems
                  wrote last edited by
                  #13

                  @Darius that doesn't tell me much

                  darius@mastodon.cloudD 1 Reply Last reply
                  0
                  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                    @Darius that doesn't tell me much

                    darius@mastodon.cloudD This user is from outside of this forum
                    darius@mastodon.cloudD This user is from outside of this forum
                    darius@mastodon.cloud
                    wrote last edited by
                    #14

                    @whitequark just “vendors are idiots” but I suppose that isn’t news

                    1 Reply Last reply
                    0
                    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                      found another random PHY

                      looks like the byte-reversal is not realtek's invention. but why the fuck is it needed?

                      >>> hex(int('0000000000100010000101'[::-1],2)<<2)
                      '0xa11000'
                      Link Preview Image
                      david_chisnall@infosec.exchangeD This user is from outside of this forum
                      david_chisnall@infosec.exchangeD This user is from outside of this forum
                      david_chisnall@infosec.exchange
                      wrote last edited by
                      #15

                      @whitequark

                      A complete guess, but:

                      A lot of networking equipment used big-endian MIPS until recently. Big-endian avoided a load of byte swapping for packet headers (this is effectively free on more complex cores) and MIPS basically gave away the R4K core when they were low on cash (unlimited-use licenses). It may be that Realtek did it deliberately to make it easier to read on big-endian MIPS, but I wouldn’t be at all surprised if they did testing on big-endian MIPS and forgot that they needed to byte swap, so it passed the tests and then they shipped it.

                      whitequark@social.treehouse.systemsW 1 Reply Last reply
                      0
                      • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                        @whitequark

                        A complete guess, but:

                        A lot of networking equipment used big-endian MIPS until recently. Big-endian avoided a load of byte swapping for packet headers (this is effectively free on more complex cores) and MIPS basically gave away the R4K core when they were low on cash (unlimited-use licenses). It may be that Realtek did it deliberately to make it easier to read on big-endian MIPS, but I wouldn’t be at all surprised if they did testing on big-endian MIPS and forgot that they needed to byte swap, so it passed the tests and then they shipped it.

                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                        whitequark@social.treehouse.systems
                        wrote last edited by
                        #16

                        @david_chisnall no, this isn't it

                        david_chisnall@infosec.exchangeD 1 Reply Last reply
                        0
                        • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                          @david_chisnall no, this isn't it

                          david_chisnall@infosec.exchangeD This user is from outside of this forum
                          david_chisnall@infosec.exchangeD This user is from outside of this forum
                          david_chisnall@infosec.exchange
                          wrote last edited by
                          #17

                          @whitequark Their DV team is made of vampires and they were hanging upside down when they got to this bit?

                          whitequark@social.treehouse.systemsW 1 Reply Last reply
                          0
                          • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                            @whitequark Their DV team is made of vampires and they were hanging upside down when they got to this bit?

                            whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systems
                            wrote last edited by
                            #18

                            @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                            whitequark@social.treehouse.systemsW david_chisnall@infosec.exchangeD 2 Replies Last reply
                            0
                            • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                              @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                              whitequark@social.treehouse.systemsW This user is from outside of this forum
                              whitequark@social.treehouse.systemsW This user is from outside of this forum
                              whitequark@social.treehouse.systems
                              wrote last edited by
                              #19

                              @david_chisnall as far as I can tell there is no rationale or justification, they fucked it up and now we all gotta deal with it forever

                              1 Reply Last reply
                              0
                              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                                david_chisnall@infosec.exchangeD This user is from outside of this forum
                                david_chisnall@infosec.exchangeD This user is from outside of this forum
                                david_chisnall@infosec.exchange
                                wrote last edited by
                                #20

                                @whitequark

                                Weird, that implies there’s some hiring overlap between IBM’s legal and DV teams.

                                1 Reply Last reply
                                1
                                0
                                • R relay@relay.infosec.exchange shared this topic
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups