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.
  • 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