Consistent Linux device enumeration The Next CEO of Stack OverflowIs pvcreate destructive? Attempting to recover an lvm2 volume groupHow to check if unmount of USB device is completed?Safely remove usb from linux deviceHow to make a USB device report as “device busy”?Consistent enumeration of a btattached controllerHow to safely insert USB stick/device to Linux computer?why doesn't lsusb list a deviceSpecify Function on USB DeviceLinux - Why are my core IDs not consistent?AT commands communication establishment in Linux USB device driver

Creating a script with console commands

Is it "common practice in Fourier transform spectroscopy to multiply the measured interferogram by an apodizing function"? If so, why?

Would a grinding machine be a simple and workable propulsion system for an interplanetary spacecraft?

Oldie but Goldie

Calculate the Mean mean of two numbers

Calculating discount not working

Mathematica command that allows it to read my intentions

Direct Implications Between USA and UK in Event of No-Deal Brexit

How can I prove that a state of equilibrium is unstable?

Upgrading From a 9 Speed Sora Derailleur?

Is it possible to make a 9x9 table fit within the default margins?

Man transported from Alternate World into ours by a Neutrino Detector

Is a linearly independent set whose span is dense a Schauder basis?

Are British MPs missing the point, with these 'Indicative Votes'?

Is the 21st century's idea of "freedom of speech" based on precedent?

What steps are necessary to read a Modern SSD in Medieval Europe?

What difference does it make matching a word with/without a trailing whitespace?

Read/write a pipe-delimited file line by line with some simple text manipulation

How does a dynamic QR code work?

Finitely generated matrix groups whose eigenvalues are all algebraic

Which acid/base does a strong base/acid react when added to a buffer solution?

Why did the Drakh emissary look so blurred in S04:E11 "Lines of Communication"?

Is this a new Fibonacci Identity?

Is it possible to create a QR code using text?



Consistent Linux device enumeration



The Next CEO of Stack OverflowIs pvcreate destructive? Attempting to recover an lvm2 volume groupHow to check if unmount of USB device is completed?Safely remove usb from linux deviceHow to make a USB device report as “device busy”?Consistent enumeration of a btattached controllerHow to safely insert USB stick/device to Linux computer?why doesn't lsusb list a deviceSpecify Function on USB DeviceLinux - Why are my core IDs not consistent?AT commands communication establishment in Linux USB device driver










13















In our Linux box we have USB -> serial device which was always identified as
/dev/ttyACM0. So I've written an application and until yesterday, everything worked fine. But suddenly (yeah, during the remote presentation ...) the device stopped working. After quick research, I found that the connection changed to /dev/ttyACM1. It was a little untimely, but now I have a problem - how to unambiguously identify my device? Like, for example, the storage drive could be initialized using UUID although the /dev/sd** has changed. Is there some way to do that for serial devices?



Now I use a stupid workaround:



for(int i = 0; i < 10; i ++)
O_NDELAY);



The link to the device we use.










share|improve this question




























    13















    In our Linux box we have USB -> serial device which was always identified as
    /dev/ttyACM0. So I've written an application and until yesterday, everything worked fine. But suddenly (yeah, during the remote presentation ...) the device stopped working. After quick research, I found that the connection changed to /dev/ttyACM1. It was a little untimely, but now I have a problem - how to unambiguously identify my device? Like, for example, the storage drive could be initialized using UUID although the /dev/sd** has changed. Is there some way to do that for serial devices?



    Now I use a stupid workaround:



    for(int i = 0; i < 10; i ++)
    O_NDELAY);



    The link to the device we use.










    share|improve this question


























      13












      13








      13


      3






      In our Linux box we have USB -> serial device which was always identified as
      /dev/ttyACM0. So I've written an application and until yesterday, everything worked fine. But suddenly (yeah, during the remote presentation ...) the device stopped working. After quick research, I found that the connection changed to /dev/ttyACM1. It was a little untimely, but now I have a problem - how to unambiguously identify my device? Like, for example, the storage drive could be initialized using UUID although the /dev/sd** has changed. Is there some way to do that for serial devices?



      Now I use a stupid workaround:



      for(int i = 0; i < 10; i ++)
      O_NDELAY);



      The link to the device we use.










      share|improve this question
















      In our Linux box we have USB -> serial device which was always identified as
      /dev/ttyACM0. So I've written an application and until yesterday, everything worked fine. But suddenly (yeah, during the remote presentation ...) the device stopped working. After quick research, I found that the connection changed to /dev/ttyACM1. It was a little untimely, but now I have a problem - how to unambiguously identify my device? Like, for example, the storage drive could be initialized using UUID although the /dev/sd** has changed. Is there some way to do that for serial devices?



      Now I use a stupid workaround:



      for(int i = 0; i < 10; i ++)
      O_NDELAY);



      The link to the device we use.







      linux usb-device






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 20 at 11:03









      Anthony Geoghegan

      7,95154055




      7,95154055










      asked Mar 20 at 7:10









      folibisfolibis

      20229




      20229




















          1 Answer
          1






          active

          oldest

          votes


















          19














          Since we are talking USB devices and assuming you have udev, you could setup some udev rules.



          I guess, and this is just a wild guess, somebody or something unplugged/removed the device and plugged it back in/added the device again, which bumps up the number.



          Now, first you need vendor and product id's:



          $ lsusb
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
          Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC


          Next, you need the serial number (in case you have several):



          # udevadm info -a -n /dev/ttyUSB1 | grep 'serial' | head -n1
          ATTRSserial=="A6008isP"


          Now, lets create a udev rule:



          UDEV rules are usually scattered into many files in /etc/udev/rules.d. Create a new file called 99-usb-serial.rules and put the following line in there, I have three devices, each with a a different serial number:



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A6008isP", SYMLINK+="MySerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

          ls -l /dev/MySerialDevice
          lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1


          If you do not want the serial number, any device from vendor with same chip will then get the same symlink, only one can be plugged in at any given time.



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", SYMLINK+="MySerialDevice"


          Taken from here






          share|improve this answer




















          • 3





            If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

            – Josef
            Mar 20 at 10:07






          • 1





            Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

            – mosvy
            Mar 20 at 11:03











          • @mosvy are serial numbers unchangable?

            – OganM
            Mar 20 at 20:05











          • @OganM they may be changed ... if you're able to root the devices.

            – mosvy
            Mar 20 at 20:24











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507349%2fconsistent-linux-device-enumeration%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          19














          Since we are talking USB devices and assuming you have udev, you could setup some udev rules.



          I guess, and this is just a wild guess, somebody or something unplugged/removed the device and plugged it back in/added the device again, which bumps up the number.



          Now, first you need vendor and product id's:



          $ lsusb
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
          Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC


          Next, you need the serial number (in case you have several):



          # udevadm info -a -n /dev/ttyUSB1 | grep 'serial' | head -n1
          ATTRSserial=="A6008isP"


          Now, lets create a udev rule:



          UDEV rules are usually scattered into many files in /etc/udev/rules.d. Create a new file called 99-usb-serial.rules and put the following line in there, I have three devices, each with a a different serial number:



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A6008isP", SYMLINK+="MySerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

          ls -l /dev/MySerialDevice
          lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1


          If you do not want the serial number, any device from vendor with same chip will then get the same symlink, only one can be plugged in at any given time.



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", SYMLINK+="MySerialDevice"


          Taken from here






          share|improve this answer




















          • 3





            If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

            – Josef
            Mar 20 at 10:07






          • 1





            Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

            – mosvy
            Mar 20 at 11:03











          • @mosvy are serial numbers unchangable?

            – OganM
            Mar 20 at 20:05











          • @OganM they may be changed ... if you're able to root the devices.

            – mosvy
            Mar 20 at 20:24















          19














          Since we are talking USB devices and assuming you have udev, you could setup some udev rules.



          I guess, and this is just a wild guess, somebody or something unplugged/removed the device and plugged it back in/added the device again, which bumps up the number.



          Now, first you need vendor and product id's:



          $ lsusb
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
          Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC


          Next, you need the serial number (in case you have several):



          # udevadm info -a -n /dev/ttyUSB1 | grep 'serial' | head -n1
          ATTRSserial=="A6008isP"


          Now, lets create a udev rule:



          UDEV rules are usually scattered into many files in /etc/udev/rules.d. Create a new file called 99-usb-serial.rules and put the following line in there, I have three devices, each with a a different serial number:



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A6008isP", SYMLINK+="MySerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

          ls -l /dev/MySerialDevice
          lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1


          If you do not want the serial number, any device from vendor with same chip will then get the same symlink, only one can be plugged in at any given time.



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", SYMLINK+="MySerialDevice"


          Taken from here






          share|improve this answer




















          • 3





            If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

            – Josef
            Mar 20 at 10:07






          • 1





            Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

            – mosvy
            Mar 20 at 11:03











          • @mosvy are serial numbers unchangable?

            – OganM
            Mar 20 at 20:05











          • @OganM they may be changed ... if you're able to root the devices.

            – mosvy
            Mar 20 at 20:24













          19












          19








          19







          Since we are talking USB devices and assuming you have udev, you could setup some udev rules.



          I guess, and this is just a wild guess, somebody or something unplugged/removed the device and plugged it back in/added the device again, which bumps up the number.



          Now, first you need vendor and product id's:



          $ lsusb
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
          Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC


          Next, you need the serial number (in case you have several):



          # udevadm info -a -n /dev/ttyUSB1 | grep 'serial' | head -n1
          ATTRSserial=="A6008isP"


          Now, lets create a udev rule:



          UDEV rules are usually scattered into many files in /etc/udev/rules.d. Create a new file called 99-usb-serial.rules and put the following line in there, I have three devices, each with a a different serial number:



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A6008isP", SYMLINK+="MySerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

          ls -l /dev/MySerialDevice
          lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1


          If you do not want the serial number, any device from vendor with same chip will then get the same symlink, only one can be plugged in at any given time.



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", SYMLINK+="MySerialDevice"


          Taken from here






          share|improve this answer















          Since we are talking USB devices and assuming you have udev, you could setup some udev rules.



          I guess, and this is just a wild guess, somebody or something unplugged/removed the device and plugged it back in/added the device again, which bumps up the number.



          Now, first you need vendor and product id's:



          $ lsusb
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
          Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC


          Next, you need the serial number (in case you have several):



          # udevadm info -a -n /dev/ttyUSB1 | grep 'serial' | head -n1
          ATTRSserial=="A6008isP"


          Now, lets create a udev rule:



          UDEV rules are usually scattered into many files in /etc/udev/rules.d. Create a new file called 99-usb-serial.rules and put the following line in there, I have three devices, each with a a different serial number:



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A6008isP", SYMLINK+="MySerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", ATTRSserial=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

          ls -l /dev/MySerialDevice
          lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1


          If you do not want the serial number, any device from vendor with same chip will then get the same symlink, only one can be plugged in at any given time.



          SUBSYSTEM=="tty", ATTRSidVendor=="0403", ATTRSidProduct=="6001", SYMLINK+="MySerialDevice"


          Taken from here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 20 at 8:49

























          answered Mar 20 at 7:58









          thecarpythecarpy

          2,6601028




          2,6601028







          • 3





            If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

            – Josef
            Mar 20 at 10:07






          • 1





            Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

            – mosvy
            Mar 20 at 11:03











          • @mosvy are serial numbers unchangable?

            – OganM
            Mar 20 at 20:05











          • @OganM they may be changed ... if you're able to root the devices.

            – mosvy
            Mar 20 at 20:24












          • 3





            If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

            – Josef
            Mar 20 at 10:07






          • 1





            Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

            – mosvy
            Mar 20 at 11:03











          • @mosvy are serial numbers unchangable?

            – OganM
            Mar 20 at 20:05











          • @OganM they may be changed ... if you're able to root the devices.

            – mosvy
            Mar 20 at 20:24







          3




          3





          If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

          – Josef
          Mar 20 at 10:07





          If you have a recent linux distribution, most likely it already automatically creates the device as /dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0. This might be enough for you without custom udev rules.

          – Josef
          Mar 20 at 10:07




          1




          1





          Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

          – mosvy
          Mar 20 at 11:03





          Unfortunately, many no-name devices all have the serial number "0123456789abcdef". That's where it gets interesting.

          – mosvy
          Mar 20 at 11:03













          @mosvy are serial numbers unchangable?

          – OganM
          Mar 20 at 20:05





          @mosvy are serial numbers unchangable?

          – OganM
          Mar 20 at 20:05













          @OganM they may be changed ... if you're able to root the devices.

          – mosvy
          Mar 20 at 20:24





          @OganM they may be changed ... if you're able to root the devices.

          – mosvy
          Mar 20 at 20:24

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507349%2fconsistent-linux-device-enumeration%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Solar Wings Breeze Design and development Specifications (Breeze) References Navigation menu1368-485X"Hang glider: Breeze (Solar Wings)"e

          Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee

          Method to test if a number is a perfect power? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Detecting perfect squares faster than by extracting square rooteffective way to get the integer sequence A181392 from oeisA rarely mentioned fact about perfect powersHow many numbers such $n$ are there that $n<100,lfloorsqrtn rfloor mid n$Check perfect squareness by modulo division against multiple basesFor what pair of integers $(a,b)$ is $3^a + 7^b$ a perfect square.Do there exist any positive integers $n$ such that $lfloore^nrfloor$ is a perfect power? What is the probability that one exists?finding perfect power factors of an integerProve that the sequence contains a perfect square for any natural number $m $ in the domain of $f$ .Counting Perfect Powers